如何使用Google Drive API V3将图像下载到浏览器客户端?

salis010

目的是让应用程序的用户通过浏览器从Google云端硬盘下载图像(jpg)。

在后面的代码中,我确实设法使浏览器提示“另存为”对话框,并且用户将文件保存到磁盘,但是尝试打开jpg文件会导致错误:

“解释JPEG图像文件时出错(不是jpeg文件:以0xc3 0xbf开头)”

请问下面的代码有什么问题吗?

还是因为响应具有“ content-encoding:gzip”,所以“ response.body”需要解压缩?

const downloadFile = (fileId) => {
        gapi.client.drive.files.get({
            fileId: fileId,
            alt: "media",
          })
            .then((response) => {

                const objectUrl = URL.createObjectURL(new Blob([response.body] , {type:'image/jpeg'}))

                // 'ref' is 'userRef' React hook pointing to an anchor element:
                ref.current.href = objectUrl
                ref.current.download = 'my-image.jpg'
                ref.current.click()
            })
            .catch((err) => console.log(err))
}
Tanaike

您的情况也遇到了同样的问题。那时,起初,我将返回值转换为Unit8Array并将其转换为Blob。那么,在您的脚本中,如何进行以下修改?

从:

const objectUrl = URL.createObjectURL(new Blob([response.body] , {type:'image/jpeg'}))

到:

const objectUrl = URL.createObjectURL(new Blob([new Uint8Array(response.body.length).map((_, i) => response.body.charCodeAt(i))], {type: 'image/jpeg'}));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用 Google Drive API V3 将文件上传到 Group Drive(共享驱动器)?

来自分类Dev

如何使用Python和Drive API v3下载Google云端硬盘文件

来自分类Dev

从Google Drive API下载图像

来自分类Dev

如何使用NodeJS和Google Drive API v3将文件移至垃圾箱

来自分类Dev

Google Drive Api v3获得下载进度

来自分类Dev

Google Drive API:如何从Google Drive下载文件?

来自分类Dev

使用Google Drive API从Google Drive直接下载

来自分类Dev

Flutter-如何使用Google Drive API下载公共文件

来自分类Dev

如何使用 OAuth 2.0 客户端 ID 调用 Google Drive API?

来自分类Dev

如何使用Google Drive API将文件上传到Google Drive?

来自分类Dev

如何使用Google API PHP客户端库和Youtube API V3将视频上传到YouTube?

来自分类Dev

如何过滤Google Drive API v3 mimeType?

来自分类Dev

如何从 google drive api v3 获取文件列表?

来自分类Dev

使用Drive API将图片上传到Google Drive

来自分类Dev

如何使用Google Drive Api v3和php显示文本文件的内容?

来自分类Dev

将Google Drive API与Laravel结合使用

来自分类Dev

将Google Drive API与Laravel结合使用

来自分类Dev

如何在Google Drive Api v3中进行部分下载?

来自分类Dev

限制使用Google Drive API V3下载文件

来自分类Dev

Rails Drive Rest Api | 使用Google API客户端gem共享文件

来自分类Dev

如何为python使用Google Drive API?

来自分类Dev

Google Drive API浏览器上传PDF为空

来自分类Dev

如何在Google Drive API v3中将XLSX转换为表格

来自分类Dev

Google Drive Java API V2与V3

来自分类Dev

Google Drive API v3:无效的字段选择

来自分类Dev

Google Save To Drive API v3停止工作

来自分类Dev

在Google Drive API的v3版本中通过drive.files.copy转换通过nodejs使用API将Word文档转换为Google文档

来自分类Dev

Google Drive API V3内存不足,无法下载大文件

来自分类Dev

从 Google Drive API v3 下载 Gdoc 修订版

Related 相关文章

  1. 1

    如何使用 Google Drive API V3 将文件上传到 Group Drive(共享驱动器)?

  2. 2

    如何使用Python和Drive API v3下载Google云端硬盘文件

  3. 3

    从Google Drive API下载图像

  4. 4

    如何使用NodeJS和Google Drive API v3将文件移至垃圾箱

  5. 5

    Google Drive Api v3获得下载进度

  6. 6

    Google Drive API:如何从Google Drive下载文件?

  7. 7

    使用Google Drive API从Google Drive直接下载

  8. 8

    Flutter-如何使用Google Drive API下载公共文件

  9. 9

    如何使用 OAuth 2.0 客户端 ID 调用 Google Drive API?

  10. 10

    如何使用Google Drive API将文件上传到Google Drive?

  11. 11

    如何使用Google API PHP客户端库和Youtube API V3将视频上传到YouTube?

  12. 12

    如何过滤Google Drive API v3 mimeType?

  13. 13

    如何从 google drive api v3 获取文件列表?

  14. 14

    使用Drive API将图片上传到Google Drive

  15. 15

    如何使用Google Drive Api v3和php显示文本文件的内容?

  16. 16

    将Google Drive API与Laravel结合使用

  17. 17

    将Google Drive API与Laravel结合使用

  18. 18

    如何在Google Drive Api v3中进行部分下载?

  19. 19

    限制使用Google Drive API V3下载文件

  20. 20

    Rails Drive Rest Api | 使用Google API客户端gem共享文件

  21. 21

    如何为python使用Google Drive API?

  22. 22

    Google Drive API浏览器上传PDF为空

  23. 23

    如何在Google Drive API v3中将XLSX转换为表格

  24. 24

    Google Drive Java API V2与V3

  25. 25

    Google Drive API v3:无效的字段选择

  26. 26

    Google Save To Drive API v3停止工作

  27. 27

    在Google Drive API的v3版本中通过drive.files.copy转换通过nodejs使用API将Word文档转换为Google文档

  28. 28

    Google Drive API V3内存不足,无法下载大文件

  29. 29

    从 Google Drive API v3 下载 Gdoc 修订版

热门标签

归档