如何通过翻新上传文件

时间:2020-06-13 13:22:08

标签: android retrofit

我正在尝试使用改型将文件从android设备上传到服务器。

但是每次都会在控制台中显示no

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";
}
?>

1 个答案:

答案 0 :(得分:0)

翻新参数和服务器密钥上的文件名应该相同。

请参考此链接以获取完整指导。 https://www.simplifiedcoding.net/retrofit-upload-file-tutorial/