【问题标题】:Google drive script not uploading file larger than 10MB谷歌驱动器脚本不上传大于 10MB 的文件
【发布时间】:2014-09-23 19:43:05
【问题描述】:

我复制了一个基本示例,以使用 Google 脚本自动将文件上传到 Google 驱动器。 Drive.Files.insert 适用于图像(png 文件),DriveApp.createFile 适用于文本文件类型。但我正在尝试上传大于 10M 的 backup.tar.bz2 文件。每次执行该过程时,它都会上传 10MB 并停止。我在某处读到非谷歌文件类型没有 10MB 的限制,我可以上传任意大小的文件(我认为它是 1 TB)。我可以通过谷歌驱动器网页手动上传相同的文件。

有人可以指点我正确的方向或给我一个适用于 > 10MB 二进制对象的代码示例吗?谢谢你。

更新:我可以上传小于 10MB 的 zip 文件。

function uploadFile() {
  var image = UrlFetchApp.fetch('http://example.com/files/backup.tar.bz2').getBlob();
  var file = {
    title: 'backup.tar.bz2',
    mimeType: 'application/bz2'
  };
 // file = Drive.Files.insert(file, image); -- ANOTHER WAY OF DOING IT
    DriveApp.createFile(image);
  //Logger.log('ID: %s, File size (bytes): %s', file.id, file.fileSize);
  Logger.log(image.getName() + "    " + image.getBytes());
};

【问题讨论】:

    标签: javascript google-apps-script google-drive-api


    【解决方案1】:

    恐怕DriveApp.createFile的文档会提到

    如果内容大于 10MB,则抛出异常

    对于除Blob 之外的所有变体,但我怀疑这只是一个疏忽。它看起来与 POST quota 相关,并且无论如何都在几个支持票中提到(例如,参见 #552#2806)。

    【讨论】:

    • 感谢您的指出。你知道我是否可以像上传 blob 一样上传文件吗?我的意思是我只需要空间来停放它,不要在乎谷歌认为它是什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-13
    相关资源
    最近更新 更多