在我的应用中,我按如下所示设置多部分主体。
File file = new File(selectedImageUri);
RequestBody requestBody = RequestBody.create(MediaType.parse("audio/mpeg"), file);
MultipartBody.Part body = MultipartBody.Part.createFormData("", file.getName(), requestBody);
上面的代码绝对可以正常工作
我正在对contentType进行如下检查
void uploadAudio(){
File file = new File(selectedFileUri);
MultipartBody.Part body = null;
if (contentType == "audio") {
RequestBody requestBody = RequestBody.create(MediaType.parse("audio/mpeg"), file);
body = MultipartBody.Part.createFormData("", file.getName(), requestBody);
}
}
在下面的行中,我将其分配为Multipart,它返回null。
body = MultipartBody.Part.createFormData("", file.getName(), requestBody);
关于我在做什么错的任何想法。任何帮助将不胜感激。 谢谢
答案 0 :(得分:0)
尝试一下
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
// MultipartBody.Part is used to send also the actual filename
MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), requestFile);
答案 1 :(得分:0)
您可以使用这些功能来获取内容类型
// url = file path or whatever suitable URL you want.
public static String getMimeType(String url) {
ContentResolver cR = context.getContentResolver();
MimeTypeMap mime = MimeTypeMap.getSingleton();
String type = mime.getExtensionFromMimeType(cR.getType(url));
return type;
}