【问题标题】:Inserting Google Drive image into templated html using Google Apps Scripts使用 Google Apps 脚本将 Google Drive 图像插入模板 html
【发布时间】:2017-03-02 17:03:58
【问题描述】:

我在 Google Apps 脚本中使用模板化的 html 和 HtmlService 来生成 pdf 报告。我正在尝试将 Google Drive 中的图片插入到 html 模板中。

模板化的 html 如下所示:

<img src= <?= DriveApp.getFileById("1234567890-abcdefghijklmnopqrstuvwxyz").getAs("image/jpeg");?> >

输出的 html 如下所示:

<img src="Blob">

如果我删除 .getAs() 函数,则输出为:

<img src="image name.jpg"> 

在评估 html 时,这两种 sn-ps 代码只会产生一个只有几个像素宽的空心方形框。有什么方法可以将图像插入 html 而不是 BlobFile 对象?

【问题讨论】:

    标签: javascript html google-apps-script blob drive


    【解决方案1】:

    这是因为IMG标签不能使用blob作为源,使用

    <img src= <?= DriveApp.getFileById(id).getDownloadUrl();?> >
    

    查看文档getDowloadUrl()

    【讨论】:

    • 似乎没有任何效果。不过,它似乎应该可以工作。
    • 您的成像仪是否与知道链接的任何人共享?
    • 在将其转换为 PDF 之前,它是否在 HTML 结果中为您提供了任何东西?分享您的代码,以便我们为您提供帮助
    • 下载链接出现在&lt;img src = ""&gt; 标记中,当插入新的浏览器选项卡时会显示图像。但是,如果我尝试在不使用我的工作电子邮件的选项卡中打开链接,它就不会显示。也许是因为 Google 服务器无法访问图像的共享设置?我将共享设置设置为“[我的域] 中的任何人都可以找到和编辑”(链接共享已打开),这是我可以提供的最开放的共享设置。
    • 检查这个答案:stackoverflow.com/questions/43941270/… — 看起来问题是当您将 html 文件转换为 pdf 时图像未呈现,解决方法是将图像编码为 base64。
    【解决方案2】:

    关于在谷歌应用脚​​本中将图像放入 HTML 中,您应该:

    1. 上传到谷歌驱动器
    2. 获取图片ID
    3. 然后按下面的格式输入
    img src="https://drive.google.com/uc?export=view&id=1dPKfyZlZFZzauqA8DcaB3h6oHX7sPqs8" width="150px" height="200px" border="5"
    

    1dPKfyZlZFZzauqA8DcaB3h6oHX7sPqs8是图片的ID。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-05
      相关资源
      最近更新 更多