我想將圖像發佈到服務器。這裏是由scriptor提供給我的服務器端我的PHP變量名:Retrofit v2.0.0-beta2如何使用RequestBody上傳文件
$value1 = $_POST["value1"]; // string value
$value2 = $_POST["value2"]; // string value
$img_1 = $_FILES["fileToUpload1"]["name"]; // image file
$img_2 = $_FILES["fileToUpload2"]["name"]; // image file
,這裏是我的代碼張貼的價值觀 -
RequestBody fileBody = RequestBody.create(MediaType.parse("image/png"), path.toString());
RequestBody fileBody1 = RequestBody.create(MediaType.parse("image/png"), path.toString());
Call<uploadResponseModel> call = adapter.uploadValues("test1","test2",fileBody1,fileBody);
call.enqueue(new Callback<uploadResponseModel>() {
@Override
public void onResponse(Response<uploadResponseModel> response, Retrofit retrofit) {
Log.i("TAG", "retro onResponse :" + response.body().getResponse().getStatus());
}
@Override
public void onFailure(Throwable t) {
Log.i("TAG", "retro onFailure :" + t.getCause());
}
});
適配器類:
public interface RetrofitAdapter {
@Multipart
@POST("/TestApp/img_upload.php")
Call<uploadResponseModel> uploadValues(@Part("value1")String value1,@Part("value2")String value2,@Part("fileToUpload1") RequestBody file1,@Part("fileToUpload2") RequestBody file2);
}
這兩個字符串值都在服務器上發佈,但不是圖像。如果我在發佈圖像文件的任何地方出錯,請糾正我。我是新的改造。
有沒有解決方案爲你工作?你能在這裏發佈你的解決方案嗎 – Rakesh
@ Rakesh:不,他們都沒有爲我工作。終於結束使用翻新1.9,它在上傳圖像順利工作 –