我剛剛從Google Script中獲得更新,並嘗試建立一個支持匿名上傳到雲端硬盤的腳本(https://ctrlq.org/code/19747-google-forms-upload-files)。Google雲端硬盤高級API - 插入文件導致例外:空回覆
到目前爲止我所做的是能夠運行腳本,發現folder.createFile(blob)
功能無法上傳超過10Mb的文件大小。然後我發現使用高級驅動器服務(Drive API)可能會提供修復程序,因此我使用高級服務(Drive
而不是DriveApp
)(https://developers.google.com/drive/v2/reference/files/insert#http-request)更改。但是,它然後迴應錯誤Exception: Empty response
。
這是我的代碼。
function uploadFiles(form) {
try {
var blob = form.file;
var contentType = blob.type;
var folderName = "Upload Folder";
var folder, folders = DriveApp.getFoldersByName(folderName);
if (folders.hasNext()) {
folder = folders.next();
} else {
folder = DriveApp.createFolder(folderName);
}
var file = {
title: blob.name,
mimeType: contentType,
parents:[{id:folder.getId()}]
};
var options = {
uploadType: "multipart"
};
file = Drive.Files.insert(file, blob, options);
return "File uploaded successfully " + file.fileSize;
} catch (error) {
return error.toString();
}
}
它可通過使用上述代碼上傳< 10Mb的文件(兩個uplaodType:media
和multipart
)。但是,> 10Mb仍然失敗,是否需要使用resumable
?
備註:我注意到有類似我遇到(Advanced Drive Service returning Empty Response Error when inserting file)問題上的問題,但似乎沒有在這一點上沒有定論,所以我希望有人能幫助解決這個問題
我嘗試過使用'uploadType = resumable'。但是,日誌報告這個錯誤 '例外:不支持的內容與類型:多部分/相關' 我試過不設置mimeType參數,但仍然有這個錯誤 – noisyBlue
我認爲這是從您原來的職位不同的關注。我建議發佈一個新的,包括細節,所做的事情,檢查的資源以及您認爲可能對社區有用的代碼片段,以便能夠爲您提供幫助。 :) –