Android 将文件作为对象通过2发送到服务器

Android 将文件作为对象通过2发送到服务器,android,retrofit,retrofit2,Android,Retrofit,Retrofit2,我想用2向服务器发送音频文件。我遵循了教程,但文件的格式不是服务器接受的格式。基于本教程,我尝试了以下方法: RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file); MultipartBody.Part audio = MultipartBody.Part.createFormData("file", "file", requestBody); 以及界面: @Hea

我想用
2
向服务器发送音频文件。我遵循了教程,但文件的格式不是服务器接受的格式。基于本教程,我尝试了以下方法:

RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part audio = MultipartBody.Part.createFormData("file", "file", requestBody);
以及界面:

 @Headers("Content-Type: application/json")
 @Multipart
 @POST("app/")
 Call<JResponse> upload(@Part("file") RequestBody file);

要查找如何通过Retroit将文件发送到服务器,请执行以下步骤:

1-安装

2-在邮递员中选择
Post
并粘贴
URL
,然后转到
Body
选项卡并选择
formdata

3-在
的部件中写入服务器文件名,在
的部件集类型中写入文件并上载所需文件

4-单击发送,然后单击生成代码

5-现在您有了如下内容:

RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part audio = MultipartBody.Part.createFormData("file", "file", requestBody);

6-现在只剩下一步,转到改装服务并粘贴信息,如(在我的情况下,我想上传
audio.mp3
):

使用模式并将其与以下内容一起发送:

 ServiceHelper.getInstance().sendAudio(temp).enqueue(new Callback<JResponse>() {
            @Override
            public void onResponse(Call<JResponse> call, Response<JResponse> response) {
                Log.e("test", "onResponse: tst");

            }

            @Override
            public void onFailure(Call<JResponse> call, Throwable t) {
                Log.e("test", "onResponse: tst");

            }
        });
serviceheloper.getInstance().sendAudio(temp).enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
Log.e(“测试”,“响应:tst”);
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
Log.e(“测试”,“响应:tst”);
}
});

您需要显示更多代码。。。
File file = new File("YOUR_PATH");
RequestBody temp = RequestBody.create(MediaType.parse("multipart/form-data"), file);
 ServiceHelper.getInstance().sendAudio(temp).enqueue(new Callback<JResponse>() {
            @Override
            public void onResponse(Call<JResponse> call, Response<JResponse> response) {
                Log.e("test", "onResponse: tst");

            }

            @Override
            public void onFailure(Call<JResponse> call, Throwable t) {
                Log.e("test", "onResponse: tst");

            }
        });