av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java - Retrofit2上傳圖片失敗

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

問(wèn)題描述

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

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

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

}···

Retrofit 調(diào)用代碼···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);}

}···

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

if(imagesList.size()==0){Toast.makeText(MainActivity.this, '沒(méi)有選擇圖片', Toast.LENGTH_SHORT).show();return; } Map<String, RequestBody>files = new HashMap<>(); //ImageUpload是interface不是class,所以我們是無(wú)法直接調(diào)用該方法,需要用Retrofit創(chuàng)建一個(gè)ImageUpload的代理對(duì)象 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上傳圖片失敗

這是報(bào)錯(cuò)的內(nèi)容: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;

}

問(wèn)題解答

回答1:

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

主要是這個(gè)

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

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 91久久精品一区二区二区 | 性做久久久久久免费观看欧美 | 国产精品久久久久无码av | 成人免费网视频 | 中文字幕免费在线 | 一区二区三区视频免费观看 | 日本小视频网站 | 91精品国产高清一区二区三区 | 亚洲性视频网站 | 北条麻妃99精品青青久久 | 国内精品伊人久久久久网站 | 成人亚洲视频 | 中国美女撒尿txxxxx视频 | 日韩欧美福利视频 | 成人羞羞国产免费视频 | 国产91精品网站 | 精品一区二区免费视频 | 日韩高清成人 | 精品真实国产乱文在线 | 在线三级电影 | 久久精品国产一区老色匹 | 亚洲精品一区中文字幕乱码 | 91在线看| 久久九| 天天躁日日躁性色aⅴ电影 免费在线观看成年人视频 国产欧美精品 | 久久久久久久久毛片 | 男人的天堂亚洲 | 久久高清 | 国产精品1区2区3区 男女啪啪高潮无遮挡免费动态 | 天天影视亚洲综合网 | 国产精品99视频 | 综合自拍| 午夜一级黄色片 | 久久久影院| 福利精品| 男女视频在线观看网站 | 成年人在线视频 | 日韩成人av在线 | 91网站视频在线观看 | 毛片一级片| 日韩手机在线视频 |