好的,在你开始说它是重复的之前等等...... 我已经尝试了我在松弛/文件上找到的所有方法,但它根本没有帮助我...我只是无法弄清楚问题是什么
所以,这是我尝试提出请求的最后两种方式
final MediaType MEDIA_TYPE_PNG = MediaType.parse("image/png");
//RequestBody reqFile = RequestBody.create(MediaType.parse("multipart/form-data"), loadImageFile);
//MultipartBody.Part filePart = MultipartBody.Part.createFormData("picture", loadImageFile.getName(), reqFile);
//RequestBody filename =
RequestBody.create(MediaType.parse("text/plain"),loadImageFile.getName());
RequestBody requestBody = RequestBody.create(MediaType.parse("image/*"),
loadImageFile);
MultipartBody.Part filePart = MultipartBody.Part.createFormData("file",
loadImageFile.getName(), requestBody);
评论的部分是一种方式,其他部分是我现在这样做的方式..
这里我有界面
@Multipart
@POST(RestClient.API_REGISTER_URL)
Call<ResponseBody> register(@Query("name") String name, @Query("email") String email,
@Query("password") String password, @Query("location") String location,
@Query("latitude") double latitude, @Query("longitude") double longitude,
@Query("gender") String gender, @Part MultipartBody.Part picture,
@Part("picture") RequestBody file,
@Query("device_uuid") String device_uuid, @Query("device_os") String device_os,
@Query("push_token") String push_token, @Query("api_key") String user);
说实话,我简直无法弄清楚为什么它不起作用..来自服务器的响应体是“图片必须是图像”,这让我觉得不知怎的它不识别文件我我发送
任何帮助都会被贬低,谢谢。
修改 我把代码改成了一点点,这是我尝试制作它的另一种方式,而且这个请求还是有些不行......
RequestBody req = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("picture", loadImageFile.getName(), RequestBody.create( MultipartBody.FORM, loadImageFile))
.build();
MultipartBody.Part part = MultipartBody.Part.createFormData("picture", loadImageFile.getName(), req);
答案 0 :(得分:0)
我使用此代码通过okhttp
将图像发送到服务器 final MediaType MEDIA_TYPE_PNG = MediaType.parse("image/png");
RequestBody req = new MultipartBody.Builder().setType(MultipartBody.FORM).addFormDataPart("branchCode", branchCode)
.addFormDataPart("upload", "profile.png", RequestBody.create(MEDIA_TYPE_PNG, file)).build();
Request request = new Request.Builder()
.url(URLs.UPLOAD_FILE)
.post(req)
.build();
您的服务器端可能出现问题吗?