在这里,我将字段数据与FormUrlEncoded一起使用,但我必须在相同的API部分(“user\u image”)RequestBody文件中与多部分一起使用这两种数据。这怎么可能?提前谢谢。
@FormUrlEncoded
@POST("/datingapp/index.php/Webservice")
Call<Result> signupUser(@Field("user_name") String name,
@Field("age") String age,
@Field("work") String work,
@Field("home_town") String home_town,
@Field("gender") String gender,
@Field("interest") String interest,
@Field("study") String study,
@Field("email") String email,
@Field("password") String password,
@Field("device_id") String device_id,
@Field("device_type") String device_type,
@Part("user_image") RequestBody file,
@Field("signup") String signup);
像这样进行api调用:
@POST("/datingapp/index.php/Webservice")
@FormUrlEncoded
@Multipart
Call<Result> signupUser(@FieldMap LinkedHashMap<String, String> data,@Part RequestBody file);
而传递你的数据是LinkedHashMap
中键和值的形式,如下所示
LinkedHashMap<String, String> data = new LinkedHashMap<>();
data.put("user_name", user_name);
data.put("age", age);
data.put("work", work);
data.put("work", work);
data.put("gender", gender); and so on ....
用于在多部分
中获取图像:
RequestBody file= RequestBody.create(MediaType.parse("image/jpeg"), file);
命中api的最后调用:
Call<Result> call = apiService.signupUser(data ,file);
希望这能奏效:)
@Multipart
@POST("/datingapp/index.php/Webservice")
Call<Result> signupUser(@PartMap Map<String,String> queryMap,
@Part("user_image") RequestBody file);
这里的@Part Map
包含所需的其他参数,这些参数只不过是包含键和值的HashMap
,例如,
LinkedHashMap<String,String> map = new LinkedHashMap<String,String>();
map.put("user_name",username);
像上面等等。
Http协议不允许在同一请求中使用两种内容类型。因此,您必须选择:
为了发送图像,您必须将整个文件转换为文本(例如base64),通过使用注释使用应用程序x-www-form-urlencoded。
更好的方法是通过这样描述您的请求来使用多部分/表单数据:
@Multipart
@POST("/datingapp/index.php/Webservice")
Call<Result> signupUser(@Part("user_name") String name,
@Part("age") String age,
@Part("work") String work,
@Part("home_town") String home_town,
@Part("gender") String gender,
@Part("interest") String interest,
@Part("study") String study,
@Part("email") String email,
@Part("password") String password,
@Part("device_id") String device_id,
@Part("device_type") String device_type,
@Part("user_image") RequestBody file,
@Part("signup") String signup);
我正在测试一种使用改装库发送图像的方法。在此处的改装文件中:http://square.github.io/retrofit/有一种方法可以使用@MultiPart注释。我正在尝试像文档一样使用,但对我来说仍然不起作用。 我该怎么做? 我在努力。 Web服务php文件 Usario的侦听器 活动 例外 电子/错误:(5200):com。谷歌。格森。JsonSyntaxException:com。谷
如何发送带有文件的php电子邮件 Antrag=图像文件 我所尝试的 输出电子邮件: 控制器 看法
我想使用改造同时发送此Postdata和图像文件。 PostData和Point PostApiService 我从这些代码中获取图像uri,并将使用它。它用作returnUri。你可以考虑这个。 代码: 如果我在PostApiService上使用,错误是 如果我,错误是 那么,我该怎么办? 拜托,你能帮帮我吗?
我正在尝试使用Reform2将图像上载到服务器,但不确定如何执行。 文档让我有点困惑,我尝试了这里提到的解决方案,但它对我不起作用。 这是我当前使用的代码片段,它不会向服务器发送任何内容: 然而,我可以通过使用TypedFile对1.9进行改装来很好地做到这一点。 是我做错了什么还是Retrofit2对这种事情有什么问题?
提前谢了。
问题内容: 我的问题是可以使用ajax(jquery)将图像上传到服务器吗 以下是我的ajax脚本,无需重新加载页面即可发送文本 是否可以修改它以发送图像? 问题答案: 这可行。 是您要找的东西吗?