Android 使用FileBody上传音频、视频和图像

Android 使用FileBody上传音频、视频和图像,android,image,audio,video,file-upload,Android,Image,Audio,Video,File Upload,我想上传音频,视频和图像一起。我正在使用以下代码: 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

我想上传音频,视频和图像一起。我正在使用以下代码:

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);
}
对于图像-当我从图像文件体中重新加载内容类型时,它会被上传。但当我添加内容类型时,它不起作用


对于音频/视频-无论我是否保留内容类型,它都不会被上传。

我通过在
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);
    }

您可以提供任何文件名。希望它能帮助其他人,因为我费了很大劲才找到它。

伙计,我爱你,我花了好几个小时试图解决这个问题!我很高兴能帮助你:)