我有一个像下面的 Postman 的图像。我怎么能做同样的事情在改造2?
我已经声明了如下的接口:
@Multipart
@POST("/api/Pharmarcy/UploadImage")
Call<ResponseBody> uploadPrescriptionImage(
@Query("accessToken") String token,
@Query("pharmarcyRequestId") int pharmacyRequestedId,
@Part MultipartBody.Part image);
9条答案
按热度按时间zte4gxcn1#
看看我传递多部分和字符串参数的方式。希望这对你有帮助!
jslywgbw2#
对于那些拥有inputStream的用户,可以使用
Multipart
上传inputStream。然后在您的存储库类中:
如果后端不允许多部分,可以将输入流转换为字节,并将字节数组作为请求主体发送,如下所示。
要获得一个输入流,您可以这样做。
在你的fragment或activity中,你需要创建一个返回
InputStream
的图像拾取器,InputStream的优点是它可以用于google drive和dropbox等云端文件。从
View.OnClickListener
或onOptionsItemSelected
调用pickImagesLauncher.launch("image/*")
。(请参见Activity Result APIs)。vyswwuz23#
**上传图像请参阅此处单击此链接
**
hrysbysz4#
我完全同意@tir38和@android_griezmann的观点,这是Kotlin的版本:
要获取真实的路径,请使用RealPathUtils。在@Harsh Bhavsar的答案中检查此类:***
要 * 从URI_API19获取真实路径 *,您需要 * 读取外部存储 * 的权限。
xmjla07d5#
使用Retrofit 2.0,您可以使用以下命令:
提出请求:
请参考https://square.github.io/retrofit/
x7yiwoj46#
你可以这样调用这个API:
2sbarzqh7#
改造2.0解决方案
以及
您可以使用
图片/jpg图片/png图片/gif
ifmq2ha28#
这很简单。下面是API接口
并且可以使用下面的代码进行调用。
资料来源:Retrofit Upload File Tutorial。
lf5gs5x29#
如果您想在Multipart/formData中发送具有更多不同参数的图像,请使用下面的代码。它将解决您的问题。