首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >App Engine云存储RequestPayloadTooLargeException文件超过10MB限制

App Engine云存储RequestPayloadTooLargeException文件超过10MB限制
EN

Stack Overflow用户
提问于 2018-04-15 20:24:52
回答 1查看 214关注 0票数 1

我们正在尝试将文件上传到App Engine Standard Java 7上的Google Cloud Storage。

除了大于10MB的文件之外,一切都运行正常。当我们尝试上传这样的文件时,我们得到了一个异常:

代码语言:javascript
复制
com.google.appengine.api.urlfetch.RequestPayloadTooLargeException: The request to https://www.googleapis.com/upload/storage/v1/b/filestoragetradeos1/o?projection=full&uploadType=multipart exceeded the 10 MiB limit.
at com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationException(URLFetchServiceImpl.java:151)
at 

我们用来做这个的代码是:

代码语言:javascript
复制
public Blob createFile(String fileName, InputStream inputStream) throws IOException {

    String bucketName = TSystemUtils.getStorageBucketName();//just a bucket name

    List<Acl> acls = new ArrayList<>();
    acls.add(Acl.of(Acl.User.ofAllAuthenticatedUsers(), Acl.Role.READER));

    byte[] bytes = IOUtils.toByteArray(inputStream);//apache IO library
    Storage storage = StorageOptions.getDefaultInstance().getService();
    Blob blob = storage.create(BlobInfo.newBuilder(bucketName, (UUID.randomUUID() + "/" + fileName)).setAcl(acls).build(), bytes);

    return blob;
}

现在,App Engine使用URL Fetch来执行所有的HTTP请求,并且它有一个10 MB Request size limit

有没有办法上传比App Engine Standard Java 7更大的文件到Google Cloud Storage?

EN

回答 1

Stack Overflow用户

发布于 2018-04-15 21:39:36

您可以使用signed URLs将大文件从客户端上传到云硬盘。您的App Engine应用程序将生成一个签名的URL,并将其传递给客户端以启动上传。您甚至可以轻松地实现resumable uploads

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49841873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档