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