簡體   English   中英

未在 Apps 腳本中定義 FileReader

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM