2012-02-14 41 views
0

我上傳壓縮文件的Bugzilla用下面的代碼:上傳zip文件。下載時,它的腐敗

bug.AppendAttachment("someComment", "application/octet-stream", "somedata", 
"filePath", bugId, false, false, false, "someSummary"); 

假參數爲: 1. is_Url 2. is_patch將 3. is_private

的文件上傳,當我登錄到Bugzilla並下載ID時,會出現一條消息,說明它已損壞或無法打開。這是爲什麼發生?當我手動上傳時,一切正常。

+1

這裏的「somedata」究竟是什麼?它是否意味着壓縮文件的內容?因爲zip文件是二進制內容... – 2012-02-14 14:25:58

+1

請提供您正在使用的API的鏈接。我能找到的最接近的是http://oss.dbc.dk/bugzproxy/html/index.html,它沒有'AppendAttachment'方法。 – ziesemer 2012-02-14 14:26:14

+0

@ziesemer是的,我; m使用bugzproxy,並添加了添加附件的方法:http://www.bugzilla.org/docs/tip/en/html/api/Bugzilla/WebService/Bug.html#add_attachment – 2012-02-14 14:28:06

回答

1

我們需要看到您添加的AppendAttachment才能進一步解答此問題。但是,根據http://www.bugzilla.org/docs/tip/en/html/api/Bugzilla/WebService/Bug.html#add_attachment,您需要確保無論您傳遞給「數據」的是否爲Base64編碼。

如果somedata是您直接傳遞給data的內容,則需要先使用http://msdn.microsoft.com/en-us/library/dhx0d524.aspx將您的二進制數據(Zip文件)編碼爲Base64。

如果您嘗試在使用Base64對其進行編碼之前將任何二進制數據存儲爲字符串,則會損壞您的有效負載。