Javascript 从Google Drive获取基于脚本的网页的图像

Javascript 从Google Drive获取基于脚本的网页的图像,javascript,google-apps-script,Javascript,Google Apps Script,我试图在谷歌驱动器中获得一个png图像,以显示在谷歌应用程序脚本html页面上。我可以让图像显示在脚本html页面上,如果它只是在web上的某个URL上(请参见下面的注释行),但不是来自google drive。下面是我试图获取blob并在图像标记中使用它的部分代码: function getImage() { //The next 2 lines don't produce the image on the page var image = DriveApp.getFileById('Fi

我试图在谷歌驱动器中获得一个png图像,以显示在谷歌应用程序脚本html页面上。我可以让图像显示在脚本html页面上,如果它只是在web上的某个URL上(请参见下面的注释行),但不是来自google drive。下面是我试图获取blob并在图像标记中使用它的部分代码:

function getImage() {
//The next 2 lines don't produce the image on the page
  var image = DriveApp.getFileById('File Id Goes Here').getBlob().getAs('image/png');
  var image = '<img src = "' + image + '" width = "90%">'
  //Note, the next line uncommented produces an image on the page
//var image = '<img src = "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png" width = "90%">'
return image
}

function doGet() {
  var htmlToAppend = getImage(); 
   var html = HtmlService.createTemplateFromFile('index').evaluate()
              .setTitle('Google Image').append(htmlToAppend).setSandboxMode(HtmlService.SandboxMode.IFRAME);  
  return html;    
}
函数getImage(){ //接下来的两行不会生成页面上的图像 var image=DriveApp.getFileById('File Id在这里').getBlob().getAs('image/png'); 变量图像=“” //注意,未注释的下一行在页面上生成一个图像 //变量图像=“” 返回图像 } 函数doGet(){ var htmlToAppend=getImage(); var html=HtmlService.createTemplateFromFile('index').evaluate() .setTitle('Google Image').append(htmlToAppend).setSandboxMode(HtmlService.SandboxMode.IFRAME); 返回html; } 结果是脚本生成的html页面上缺少图像,缺少图像的URL以script.googleusercontent.com/Blob结尾

有关Blob的信息如下:(在单独的页面/选项卡中打开)

非常感谢您的帮助。

如果您能看到或,有一些解决方法可以从驱动器获取图像

一种解决方法是使用,但它不支持旧浏览器

只需在模板上调用setSandboxMode(),您的数据URI就可以正常工作:

var output = HtmlService.createHtmlOutput(
'<img src="data:' + contentType + ';base64,' + encoded + '"/>'
);

output.setSandboxMode(HtmlService.SandboxMode.IFRAME);
但要注意的是,这是不赞成的

<img src="https://googledrive.com/host/0B12wKjuEcjeiySkhPUTBsbW5j387M/my_image.png" height="95%" width="95%">

此外,避免使用相同的变量名以避免发生错误

希望这有帮助

<img src="https://googledrive.com/host/0B12wKjuEcjeiySkhPUTBsbW5j387M/my_image.png" height="95%" width="95%">