2016-05-04 63 views
0

我正在嘗試使用JIRA Rest API(版本2)向問題添加zip附件。JIRA REST API破壞上傳的zip附件

該代碼似乎工作正常,但是當我查看票上附加的文件附件幾乎是它應該是兩倍,並試圖打開它時,我發現它已損壞。

我可以上傳一個圖像文件(在我的測試中的PNG)沒有問題。

我使用的代碼是:

String basic = createBasicAuth(); 
HttpHeaders headers = new HttpHeaders(); 
headers.add("Authorization", "Basic " + basic); 
headers.add("X-Atlassian-Token", "no-check"); 
headers.setContentType(MediaType.MULTIPART_FORM_DATA); 

LinkedMultiValueMap<String, Resource> map = new LinkedMultiValueMap<>(); 
map.add("file", new ClassPathResource("/zipfile.zip")); 

HttpEntity<LinkedMultiValueMap<String, Resource>> body = new HttpEntity<>(map, headers); 

RestTemplate restTemplate = new RestTemplate(); 
ResponseEntity<String> response = restTemplate.postForEntity(jiraUrl, body, String.class); 

我試圖使用一個ByteArrayResource而不是ClassPathResource但這會導致500錯誤從服務器。

我也試圖在自己的HttpEntity中封裝每個資源,給定zip文件自己的頭,其媒體類型設置爲application/octet-stream。

有沒有其他人有這個問題?如果沒有,我會與Atlassian一起登錄。 任何幫助將是偉大的。

感謝

回答

0

原來這是枯萎與Spring(3.2.1)RestTemplate,或如何我使用它的問題。
使用Postman手動上傳壓縮文件會導致成功上傳的壓縮文件。