我想通过POST请求将视频文件(.mp4)上传到JIRA。文件上传到服务器,但视频损坏(即打开它不起作用)。发送其他附件,如屏幕截图(.png)和文本文件(.txt),可以正常工作而不会破坏文件。
我正在使用Apache HttpComponents HttpClient 4.3.6。
以下是示例代码:
File file = new File("location/to/file.mp4");
MultipartEntityBuilder multipartEntity = MultipartEntityBuilder.create().addBinaryBody("file", file);
HttpPost postRequest = new HttpPost();
postRequest.addHeader(HttpHeaders.AUTHORIZATION, BASIC_AUTH);
postRequest.addHeader("X-Atlassian-Token", "nocheck");
postRequest.setEntity(multipartEntity.build());
postRequest.setURI(uri);
CloseableHttpClient client = HttpClients.createDefault();
try {
HttpResponse response = client.execute(request);
} finally {
client.close();
}
我尝试添加video/mp4
MIME类型,但似乎没有任何帮助:
MultipartEntityBuilder.create().addBinaryBody("file", file, ContentType.create("video/mp4"), file.getName())
答案 0 :(得分:2)
我遇到的问题是Mac上的QuickTime与.mp4文件格式不兼容。我下载了VLC媒体播放器,文件工作得很好而没有指定MIME类型。