我想一起上传音频,视频和图片。我使用以下代码:
if (file_name_for_rear_image != null && f_intruder_rear.exists()) {
ContentType contentType = ContentType.create("image/jpeg");
FileBody cbFile = new FileBody(f_intruder_rear,contentType);
multipartEntity.addPart("image[]", cbFile);
}
File video_file = new File(VIDEO_PATH_NAME);
if (VIDEO_PATH_NAME != null && video_file.exists()) {
ContentType contentType = ContentType.create("video/mp4");
FileBody cbFile = new FileBody(video_file,contentType);
multipartEntity.addPart("video", cbFile);
}
File audio_file = new File(audio_file_name);
if (audio_file_name != null && audio_file.exists()) {
ContentType contentType = ContentType.create("audio/mp3");
FileBody cbFile = new FileBody(audio_file, contentType);
multipartEntity.addPart("audio", cbFile);
}
对于图像 - 当我从图像文件体中重新显示内容类型时,它将被上传。但是当我添加内容类型时,它无法正常工作。
对于音频/视频 - 无论我是否保留内容类型,都不会上传。
答案 0 :(得分:2)
我通过在FileBody
对象中传递文件来解决它。
if (file_name_for_rear_image != null && f_intruder_rear.exists()) {
ContentType contentType = ContentType.create("image/jpeg");
FileBody cbFile = new FileBody(f_intruder_rear, contentType,
"image.jpg");
multipartEntity.addPart("image[]", cbFile);
}
File video_file = new File(VIDEO_PATH_NAME);
if (VIDEO_PATH_NAME != null && video_file.exists()) {
ContentType contentType = ContentType.create("video/mp4");
FileBody cbFile = new FileBody(video_file, contentType, "video.mp4");
multipartEntity.addPart("video", cbFile);
}
File audio_file = new File(audio_file_name);
if (audio_file_name != null && audio_file.exists()) {
ContentType contentType = ContentType.create("audio/mp3");
FileBody cbFile = new FileBody(audio_file, contentType, "audio.mp3");
multipartEntity.addPart("audio", cbFile);
}
您可以提供任何文件名。希望它可以帮助别人,因为我为此找到了太多的努力。