首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用signedURL将base64文件上传到GCS中

使用signedURL将base64文件上传到GCS中
EN

Stack Overflow用户
提问于 2019-06-12 17:17:22
回答 1查看 3.1K关注 0票数 2

我正在尝试使用签名的URLbase64文件/图像上传到Google cloud storage中。我的服务器端代码(NodeJS)是这样的:

代码语言:javascript
复制
let {Storage} = require('@google-cloud/storage');

storage = new Storage({
  projectId,
  keyFilename: gcloudServiceAccountFilePath,
});

function generateSignedUrl(){
const options = {
      version: 'v4',
      action: 'write',
      expires: Date.now() + 15 * 60 * 1000, // 15 minutes
      //contentType: 'application/octet-stream'
    };
}

const [url] = await storage.bucket(gcloudBucket)
      .file(`${fileRelativePath}`).getSignedUrl(options);

return url;
}

现在,当我使用下面的配置尝试POSTMAN时,

代码语言:javascript
复制
Request: PUT
URL: https://storage.googleapis.com/my-signed-url.. //generated from above code
Headers:
  x-goog-acl: 'public-read'
  Content-Type: 'image/jpeg'
Body:
  raw : 'base64-file-conent'

我上传的文件在GCS中仍然是base64的,文件大小也不同,你可以在存储中看到。

第一张图片通过拖放直接上传到GCS中。

第二张图片与邮递员一起上传

通过postman上传文件时,我不确定是否在生成签名url或任何头文件时遗漏了什么。

谢谢:)

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

https://stackoverflow.com/questions/56558659

复制
相关文章

相似问题

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