[英]How to use async/await with FileReader in for-loop function in google-apps-script web app?
[英]FileReader not defined in Apps Script
我正在嘗試使用 FileReader.readDataAsUrl() 在 JSON 文件中發送 Blob object。 但我不斷收到錯誤參考錯誤:未定義“FileReader”。 由於我使用的是 Apps Script,有沒有一種方法可以實現它? 我看到有人將沙箱設置為 IFRAME 並修復了它,但我看到的任何地方都說這是現在的默認模式。 我目前實際初始化 FileReader 的 function 在 buildPackage() 中。
function doGet() {
var response = getJSON();
console.log("SENT DATA");
return ContentService.createTextOutput(response).setMimeType(ContentService.MimeType.JSON);
}
function getJSON() {
console.log("BUILDING JSON");
var folder = DriveApp.getFolderById("1WT4KihCV5kXvmnO80Z9lPuvjoEH5vR63").getFiles();
var files = {};
while (folder.hasNext()) {
var file = folder.next();
var fileName = file.getName();
var filePackage = buildPackage(file);
files[fileName] = filePackage;
console.log(filePackage);
}
return JSON.stringify(files);
}
function buildPackage(file) {
//build the package to be sent holding the downloadurl, mime type, and blob
var package = {};
var fileReader = new FileReader();
package["downloadUrl"] = file.getDownloadUrl();
package["mime"] = file.getMimeType();
var blob = file.getBlob();
package["blob"] = blob;
return package;
}
這是我的相關代碼,我將我的 web 應用推送為任何擁有該鏈接的人都可以訪問,並以我的身份運行。 除了初始化腳本時,我使用 FileReader 刪除了腳本的任何部分,但仍然遇到錯誤。 我覺得我只是缺少一些基本的東西,但到目前為止我在網上找不到任何有幫助的東西。
FileReader object 屬於文件 API不屬於 JavaScript 編程語言或 Google Apps 腳本。 考慮到這一點,不可能從服務器端代碼調用它,它只能從客戶端 HTML/CSS/JavaScript 代碼中使用。 請參閱第一個相關問題以了解如何將 Blob 轉換為 base64 字符串,第二個相關問題是有關在 Google Apps 腳本 web 應用程序中使用 FileReader 的代碼示例。
有關的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.