亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

java - Retrofit2上傳圖片失敗

瀏覽:80日期:2024-02-23 15:27:04

問題描述

上傳的時候報錯: onFailure=Use JsonReader.setLenient(true) to accept malformed JSON at line 15 column 1 path $多次修改URL地址和模型都是這個錯誤

這是Retrofit接口代碼···public interface ImageUpload {

//上傳圖片@Multipart@POST('/xxzx/a/tpsb/uploadPicture')Call<UploadResult> uploadMultipleFiles(@PartMap Map<String, RequestBody> files);

}···

Retrofit 調用代碼···public class ServiceGenerator {

private static final String API_BASE_URL= 'http://114.115.139.232:8080/';private static OkHttpClient.Builder httpClient = new OkHttpClient.Builder();private static Retrofit.Builder builder =new Retrofit.Builder().baseUrl(API_BASE_URL).addConverterFactory(GsonConverterFactory.create());public static <S> S createService(Class<S> serviceClass){ Retrofit retrofit = builder.client(httpClient.build()).build(); return retrofit.create(serviceClass);}

}···

以下是調用方法:··· private void uploadFiles() {

if(imagesList.size()==0){Toast.makeText(MainActivity.this, '沒有選擇圖片', Toast.LENGTH_SHORT).show();return; } Map<String, RequestBody>files = new HashMap<>(); //ImageUpload是interface不是class,所以我們是無法直接調用該方法,需要用Retrofit創(chuàng)建一個ImageUpload的代理對象 final ImageUpload service = ServiceGenerator.createService(ImageUpload.class); for (int i = 0;i<imagesList.size();i++){File file = new File(imagesList.get(i).path);files.put('file' + i + ''; filename='' + file.getName(),RequestBody.create(MediaType.parse(imagesList.get(i).mimeType), file)); } Call<UploadResult> call = service.uploadMultipleFiles(files); call.enqueue(new Callback<UploadResult>() {@Overridepublic void onResponse(Call<UploadResult> call, Response<UploadResult> response) { if (response.isSuccessful()){Toast.makeText(MainActivity.this, '上傳成功', Toast.LENGTH_SHORT).show();Log.i('圖片上傳:','---------------------上傳成功-----------------------'); }}@Overridepublic void onFailure(Call<UploadResult>call, Throwable t) { Log.i('wxl', 'onFailure=' + t.getMessage()); Toast.makeText(MainActivity.this,'上傳失敗', Toast.LENGTH_SHORT).show();} });}

···

這是使用Postman post成功的返回json:{ 'failureList': [], 'successNum': 1, 'failureNum': 0}

java - Retrofit2上傳圖片失敗

這是報錯的內容:05-06 16:15:43.599 19961-19961/com.example.yuan.imagerecognitionmanager I/wxl: onFailure=Use JsonReader.setLenient(true) to accept malformed JSON at line 15 column 1 path $

javabean:public class UploadResult<T> {

public int successNum;public int failureNum;public ArrayList<String> failureList;

}

問題解答

回答1:

http://stackoverflow.com/ques... 可以參考下這里。

主要是這個

Gson gson = new GsonBuilder().setLenient().create();Retrofit retrofit = new Retrofit.Builder().baseUrl(BASE_URL).client(client).addConverterFactory(GsonConverterFactory.create(gson)).build();

標簽: java
相關文章:
主站蜘蛛池模板: 国产一级做a爰片... | 韩国毛片视频 | 欧美一区二区在线视频 | 国产精品yjizz视频网一二区 | 国产精品久久久亚洲第一牛牛 | 国产在线一区二区三区四区 | 涩涩免费网站 | 欧美日韩在线第一页 | 亚洲综合丁香 | 久久香蕉国产线看观看网站 | 久热青青青在线视频精品 | 最近中文日本字幕免费完整 | 九九免费精品视频在这里 | 毛片一级免费 | 老年人黄色一级片 | 黑人艹| 久久亚洲精品一区成人 | 精品国产高清a毛片 | 国产精品吹潮香蕉在线观看 | 精品一成人岛国片在线观看 | 制服丝袜中文在线 | 永久免费观看黄网站 | 免费视频一区二区三区四区 | 91国内精品线免费播放 | 一本伊大人香蕉在线观看 | 麻豆影视在线播放 | 亚洲综合站 | 免费一看一级欧美 | 五月天婷婷亚洲 | 免费黄看片 | 亚洲视频一区在线播放 | 国产精品99在线观看 | 免费精品一区二区三区在线观看 | 国产国产人免费人成免费视频 | 国产第一页久久亚洲欧美国产 | 欧美俄罗斯一级毛片激情 | 玖玖99| 爱爱视频免费 | 免费在线观看a级毛片 | 97精品国产自在现线免费观看 | 一本之道无吗一二三区 |