我正在尝试使用改型从android设备上传文件到服务器。 但每次在控制台中结果为“否”。
filesapi.java:
public interface FilesApi {
@Multipart
@POST("file")
Call<String> storeFile(@Part MultipartBody.Part file);
}
在Mainactivity.java中:
private void uploadFile(){
RequestBody requestFile= RequestBody.create(MediaType.parse("multipart/form-data"),file);
MultipartBody.Part body =
MultipartBody.Part.createFormData("file", file.getName(), requestFile);
//RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"),file);
FilesApi api = RetrofitService.createService(FilesApi.class);
api.storeFile(body).enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
Log.d(TAG, "onResponse: "+response.body());
}
@Override
public void onFailure(Call<String> call, Throwable t) {
Log.d(TAG, "onFailure: "+t);
}
});
}
php代码:
<?php
if(isset($_FILES['file']))
{
echo "YESS";
}
else
{
echo "no";
}
?>;
Filename在reverfit参数上应该是相同的,在Server键上也应该是相同的。
请参考此链接以获得完整的指导。 https://www.simplifiedcoding.net/reverfit-upload-file-tutorial/