![](/img/trans.png)
[英]Upload files to Dropbox using a Dropbox Core API in Javascript
[英]Fetch API uploads corrupted Excel files to Dropbox
我正在使用 Dropbox SDK JS ( "dropbox": "^10.10.0"
) 通過filesGetTemporaryUploadLink
上傳文件,此方法返回一個時間 URL 用於文件上傳。
我上傳文件的方式:
const fileUploadResult = await fetch(uploadDestination.url, {
body: fileData,
cache: "no-cache",
credentials: "same-origin",
headers: {
"Content-Type": "application/octet-stream"
},
method: "POST",
mode: "cors"
});
當我上傳 PDF 時,一切正常,但當我嘗試上傳.xlsx
文件時,該文件以損壞的方式上傳。
我嘗試使用Content-Type
,但是當我將application/octet-stream
更改為 Excel 的 MIME ( application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
) 或更改為binar/octet-stream
時,出現錯誤:
加載資源失敗:服務器響應狀態為 400(錯誤請求)
這很奇怪,通過 Fetch API 通過POST
發送 PDF 和 Excel 文件有什么區別?
正如@Greg 提到的,問題是FormData
不必要地包裝文件,一旦我刪除了這個包裝,一切都正常工作:
const fileData = domRef.files[0];
const fileUploadResult = await fetch(uploadDestination.url, {
body: fileData,
cache: "no-cache",
credentials: "same-origin",
headers: {
"Content-Type": "application/octet-stream"
},
method: "POST",
mode: "cors"
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.