簡體   English   中英

如何通過Retrofit上傳文件

[英]How to upload file via Retrofit

我正在嘗試使用 retrofit 將文件從 android 設備上傳到服務器。

但每次,它在控制台中都no結果。

文件Api.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";
}
?>

Retrofit 參數以及服務器密鑰上的文件名應該相同。

請參閱此鏈接以獲取完整指南。 https://www.simplifiedcoding.net/retrofit-upload-file-tutorial/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM