【问题标题】:Keep original image file name when exporting google doc to html将 google doc 导出为 html 时保留原始图像文件名
【发布时间】:2022-01-17 22:33:42
【问题描述】:

我正在构建一个将谷歌文档导出到网站的应用程序,但我无法获得原始文件名。

步骤:

  1. 创建一个google doc,通过Insert -> Image -> Drive插入一个驱动器图像。
  2. 使用google drive api将文档导出为html(Ruby:https://googleapis.dev/ruby/google-api-client/latest/Google/Apis/DriveV3/DriveService.html#export_file-instance_method
  3. 从html中提取图片,你总会得到类似于https://lh3.googleusercontent.com/zUmjDlO9wBwiEMnegKwkh1VPGUaaVssRmWn6BvN_-WyD8ImK-s8rgwVkjmR1Zrsd89OcelYKArsHxy9CUXREoeUm5LgfxrUU0HZVa7d7BqcUsDh5E19I4AqwX_xIv_0Tyf5b4qZm的srcs
  4. 像下载网络中的任何文件一样下载图像。无论原始文件名如何,“content-disposition”标头始终具有“filename=Untitled.jpg”。

我做错了什么?有没有办法获取原始文件名?

【问题讨论】:

  • 我在下面提供了一个解决方法。请检查它是否适用于您@PedroBernardes

标签: google-drive-api


【解决方案1】:

问题是谷歌文档除了下面的细节之外没有保存图像中的任何细节:

因此,当在另一个应用程序中打开时,该应用程序会将图像名称初始化为它自己的默认图像名称(例如 image.jpgUntitled.jng 等)因为他们没有看到任何关于它的细节。查看类似的post

总结:

  • 简而言之,您无法通过检查插入图像的详细信息来获取原始文件名,因为 Google 文档在您插入图像时不会存储该数据。即使在导出之前,也无法确定文档中插入图像的名称。

解决方法:

  • 您可以在包含特定字符串 (Figure <N>: <filename>) 的图像中添加标题,以便在提取图像时轻松找到它们。然后在检查哪个标题是针对特定图像时,您只需要找到特定字符串的匹配项和图像的顺序即可。这绝对不是最佳方法,而是最简单的方法。

【讨论】:

    猜你喜欢
    • 2020-06-20
    • 2019-05-19
    • 2019-07-29
    • 1970-01-01
    • 1970-01-01
    • 2020-08-30
    • 2020-08-31
    • 2020-02-16
    • 1970-01-01
    相关资源
    最近更新 更多