0
我以前使用的Apache瓶坯文件上傳:文件上傳不與改造工作
FileBody fileBody = new FileBody(new File(path), mimeType);
FormBodyPart formBodyPart = new FormBodyPart("partName", fileBody);
MultipartEntity reqEntity = new MultipartEntity();
reqEntity.addPart(formBodyPart);
...
這將成功上傳的文件與「零件名稱」
交換零件名稱改裝:
public interface UploadService {
@Multipart
@PUT("/somepath/{id}/upload")
Call<ResponseBody> upload(@Path("id") String id, @Part("partName") RequestBody file);
}
var id = 123;
UploadService service = retrofit.create(UploadService.class);
File file = new File(path);
RequestBody requestBody = RequestBody.create(MediaType.parse(mimeType), file);
Response<ResponseBody> response = service.upload(id, requestBody).execute();
請求的partName未設置。我究竟做錯了什麼?
我的答案在http://stackoverflow.com/questions/33932916/how-to-post-an-image-to-server-in-android/33952163#33952163使用OkHttp,但是,國際海事組織,也許它的邏輯可以幫助你一點點 – BNK
非常感謝。我可以嘗試找出改造後出現的問題。最糟糕的情況就是使用okhttp作爲解決方法。 – lostintranslation
IMO,你可以在'Headers.of(「Content-Disposition」,「form-data; name = \」file \「; filename = \」ic_launcher.png \「」)檢查,因爲我的web服務(Asp .Net Web API),當android客戶端沒有在這裏設置'filename'時,web服務並不認爲這是多部分請求 – BNK