Intereting Posts
Оболочка тестового кода Android с плагином JaCoCo Gradle Каков наилучший способ разработки кросс-мобильного приложения с поддержкой Bluetooth? Android – Как загрузить фотографию с SD-карты на стену Facebook Swipeleft / swiperight запускается во время вертикальной прокрутки в jQuery mobile Размер диалогового окна не совпадает с фоновым изображением Приложение Google Messenger не прикрепляет изображение при отправке MMS Вкладка «Текст» открыта по умолчанию в Android Studio Android-камера записывает видео, но играет вверх ногами Android: Почему getDimension и getDimensionPixelSize возвращают то же самое? Добавить идентификацию маркера на google maps v2 api для Android Добавить анимацию в ExpandableListView Как сказать OkHttpClient игнорировать кеш и принудительно обновить сервер? Как исправить «OutOfMemoryError: java heap space» при компиляции приложения MonoDroid в MonoDevelop Приложение несовместимо со всеми вашими устройствами Как подключить личные данные к событию календаря Android

Загрузка изображения Loopj для Android с WP API v1 и v2

Я использую Loopj для загрузки файлов на мой сайт WordPress и WP REST API v1 и / или v2 (те же результаты).

Аутентификация прекрасна, заголовки идут отлично, файл «загружает», но когда я проверяю его в моем бэкэнде WordPress … изображение или файл сломаны.

Часть Android выглядит следующим образом:

File myFile = new File(finalpath); String name = Utils.getLastBitFromUrl(finalpath); String extension = Utils.getFileExtention(finalpath); client.setBasicAuth("myusername", "mypassword", new AuthScope("mywebsite.com", 80, AuthScope.ANY_REALM)); client.addHeader("Content-Disposition", "filename=" + name); client.addHeader("Content-Type", "image/" + extension); try { params.put("data", myFile); } catch (FileNotFoundException e) { e.printStackTrace(); } // or: http://mywebsite.com/wp-json/wp/v2/media for v2 client.post("http://mywebsite.com/wp-json/media", params, new AsyncHttpResponseHandler() { int count = 0; @Override public void onStart() { prgDialog = new ProgressDialog(MainActivity.this); prgDialog.setMessage("Uploading Image..."); prgDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); prgDialog.setMax(100); prgDialog.show(); } @Override public void onProgress(long bytesWritten, long totalSize) { if(count < 1){ count++; Log.d("size", "" + Utils.formatFileSize(totalSize)); } long progressPercentage = (long)100*bytesWritten/totalSize; if(progressPercentage <= 100) { prgDialog.setProgress((int) progressPercentage); } } @Override public void onSuccess(int statuscode, Header[] headers, byte[] response) { try { prgDialog.dismiss(); JSONObject obj = new JSONObject(Utils.decodeUTF8(response)); Log.e("success!", Utils.decodeUTF8(response)); } catch (JSONException e) { e.printStackTrace(); } 

Но образ … выглядит так в моем бэкэнде WordPress:

Изображение сломанное

Кто-нибудь знает, почему это происходит? Мой файл и Путь к файлу являются идеальными. Я могу получить изображение и показать его на своем телефоне перед его загрузкой.

EDIT: этот cURL отлично работает

 curl -i -X POST -H "Content-Disposition:filename=test.png" --data-binary @"/home/my-name/Downloads/example.png" -d title="test" -u username:password -H "Expect:" http://my.website.com/wp-json/wp/v2/media 

Основное отличие – over -data-binary @, но я не знаю, как это сделать по Java.

Solutions Collecting From Web of "Загрузка изображения Loopj для Android с WP API v1 и v2"