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