2016-07-11 10 views
0

私はDailymotionでビデオをアップロードできるWebアプリケーションを開発しています。すべて1年間で見つかっていて、最近Dailymotionでビデオをアップロードするときにエラーが発生しました。Dailymotionアップロードエラー "no content"

{ 
"error": "missing content" 
"seal": "540f4ad5a0f9c6a7e85a46be98361581" 
} 

私はdailymotionの呼び出しを行うためにjavaとlib "org.apache.http"を使用します。

このように私のコードを見て:URLの

Path temp = Files.createTempFile(multipartFile.getName(), "." + suffix); 
      multipartFile.transferTo(temp.toFile()); 
      MultipartEntityBuilder builder = MultipartEntityBuilder.create(); 
      builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); 
      builder.addPart(multipartFile.getOriginalFilename(), new FileBody(temp.toFile(), 
        ContentType.APPLICATION_OCTET_STREAM, multipartFile.getOriginalFilename())); 
      httpPost.setEntity(builder.build()); 
      try (CloseableHttpClient httpclient = HttpClients.createDefault(); 
        CloseableHttpResponse response = httpclient.execute(httpPost);) { 
       HttpEntity entity = response.getEntity(); 
       ObjectMapper mapper = new ObjectMapper(); 
       DailymotionUploadVideoResponse dmUploadResponse = mapper.readValue(entity.getContent(), 
         DailymotionUploadVideoResponse.class); 
       // Delete temp file after upload 
       Files.deleteIfExists(temp); 
       if (dmUploadResponse.getError() != null) { 
        throw new DailymotionJsonException(dmUploadResponse.getError().getMessage()); 
       } 
       EntityUtils.consume(entity); 
       response.close(); 

POSTはDailymotionのことで取得:POSTリクエストの

http://upload-12.dc3.dailymotion.com/upload?uuid=035e365c5b2355616e381f43c1b2b391&seal=edad1d3ad9e348c65e975582571e5815 

ヘッダー:

Content-Disposition: 
form-data; 
name="2015-07-16-192550-1.webm"; 
filename="2015-07-16-192550-1.webm", 
Content-Type: application/octet-stream, 
Content-Transfer-Encoding: binary 

が、私は理由を理解していません私は間違っている。

私はcurlでテストしても同じエラーがあります。

Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryImx1443wQZZBF0Fb 
Content-Length: 1398401 
Source message 

POST /upload?uuid=035e365c5b2355616e381f43c1b2b391&seal=edad1d3ad9e348c65e975582571e5815 HTTP/1.1 
HOST: upload-12.dc3.dailymotion.com 
content-type: multipart/form-data; boundary=----WebKitFormBoundaryImx1443wQZZBF0Fb 
content-length: 1398401 

------WebKitFormBoundaryImx1443wQZZBF0Fb 
Content-Disposition: form-data; name="2015-07-16-192550-1.webm"; filename="2015-07-16-192550-1.webm" 
Content-Type: video/webm 
+0

修正APIのDailymotionのをFileBody(temp.toFile()、 ContentType.APPLICATION_OCTET_STREAM、multipartFile.getOriginalFilename())); – malatok

答えて

0

APIのDailymotionのは、コード

builder.addPart(multipartFile.getOriginalFilename(), new FileBody(temp.toFile(), 
        ContentType.APPLICATION_OCTET_STREAM, multipartFile.getOriginalFilename())); 

によって変化し、変化している:新しい、コードbuilder.addPart(multipartFile.getOriginalFilenameを()に変更、変更されている

builder.addPart("file", new FileBody(temp.toFile(), 
         ContentType.APPLICATION_OCTET_STREAM, multipartFile.getOriginalFilename())); 
関連する問題