【问题标题】:How to Upload image using retrofit 2如何使用改造 2 上传图像
【发布时间】:2016-12-15 04:42:02
【问题描述】:

我是改装新手,我想上传从设备库中选择的图像或从相机意图中单击的图像的服务器。我用谷歌搜索并没有找到合适的解决方案。

我的服务器接收图像/文件作为多部分/表单数据。请帮助我满足我的要求。

谢谢。

【问题讨论】:

  • 您能否粘贴代码以及您上传的 json 格式
  • @Nivedh 我还没有尝试过,但是我想发布到我的 REST api 的数据有一个图像和两个字符串
  • @Nivedh 我在 html 中创建了一个接受 enctype='multipart/form-data' 的表单,然后我的 REST 代码执行并将图像保存在我的服务器文件夹中并更新我的数据库中的路径。
  • 你有没有通过futurestud.io/blog/retrofit-2-how-to-upload-files-to-server。我要求发布 json,因为在改造 2 中,它无法上传嵌套 json 标签内的图像。但如果它在外面它工作正常

标签: android image-uploading retrofit2


【解决方案1】:

这是我的解决方案,它有效

改造界面

        @Multipart
        @POST("api/v1/users/edit")
        Call<AccountInfo> editUserInfoAvatar(@Part("type") RequestBody type, @Part("file\"; filename=\"my_image.jpg") RequestBody file);

调用方法

public void sendAvatar(ImageItem avatar){
        File file=new File(avatar.path);
        RequestBody fileBody = RequestBody.create(MediaType.parse("image/jpg"), file);
        RequestBody typeBody = RequestBody.create(MediaType.parse("text/plain"), "avatar");
        Call<AccountInfo> call = HttpManager.getHttpClient().editUserInfoAvatar(typeBody,fileBody);
call.enqueue(...);

}

希望对你有帮助,伙计

【讨论】:

  • 我将如何从设备库中发送图像?
  • 同理
猜你喜欢
  • 1970-01-01
  • 2018-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-22
  • 1970-01-01
  • 2019-12-19
  • 1970-01-01
相关资源
最近更新 更多