【发布时间】:2019-05-31 17:55:29
【问题描述】:
我正在尝试将动态数量的图像发送到 WCF Web 服务。发送这个请求的方法是这样的:
@Multipart
@POST
Call<ResponseBody> sendImages(@Part List<MultipartBody.Part> img, @Url String url,@Part("Content-Type") String contentType);
这是发送图像的方法的实现:
public void sendImages(List<EvaluationDetail> evaluationDetails, int evalId, final ResultCallBack resultCallBack){
ApiService apiService=AppSingleton.getInstance(context).getApiService();
String Url=ApiService.Post_images+"/"+evalId+"/";
String questionIds="";
List<MultipartBody.Part> parts=new ArrayList<>();
for(int i=0;i<evaluationDetails.size();i++) {
if(evaluationDetails.get(i).getImage()!=null) {
File file = new File(evaluationDetails.get(i).getImage());
if (file != null) {
String partName = "img" + "_" + evalId + "_" + evaluationDetails.get(i).getQuestionID();
RequestBody requestFile = RequestBody.create(null,file);
parts.add(MultipartBody.Part.createFormData(partName, file.getName(), requestFile));
questionIds=questionIds+String.valueOf(evaluationDetails.get(i).getQuestionID());
}
}
}
if(questionIds!=null)
apiService.sendImages(parts,Url+questionIds,"multipart/form-data").enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
resultCallBack.onGetResult(null);
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
resultCallBack.onFailedGet();
}
});
}
我不知道 wcf Web 服务中的函数签名会是什么样子。我用谷歌搜索,但我找不到解决方案。 请帮帮我。
【问题讨论】: