aws-sdk 上传图片成功后没有给返回值,而且我要怎么获取到上传成功后图片的 url 呢

2019-09-17 10:26:46 +08:00
 maruize321

let file = item.file console.log(file.name) let accessKeyId = this.appData.accessKeyId let accessKeySecret = this.appData.accessKeySecret let bucket = this.appData.bucket let region = this.appData.region; let securityToken = this.appData.securityToken; let type = this.appData.type;

  let s3 = new AWS.S3({
    'apiVersion' : '2006-03-01',
    'accessKeyId' : accessKeyId,
    'secretAccessKey' : accessKeySecret,
    'sessionToken' : securityToken,
    'region': region,
  });
  let params = {
    Bucket: bucket, /* required */
    Key: file.name, /* required */
    Body: file
  };
  s3.putObject(params, (err, data) =>{
    if (err) {
      console.log('失败');
      console.log(err, err.stack) // an error occurred
    } else {
      // successful response
      console.log('成功');
      console.log(data)

    }

  });
1669 次点击
所在节点    程序员
3 条回复
zivyou
2019-09-17 10:46:25 +08:00
这个 url 不应该是他返回给你的,应该是有一个固定地址,你只要知道文件的 key,就可以自己拼凑出来,当然,前提是 bucket 对你开放。
还有一种方式,就是让别人授权给你访问,这种情况下你就应该跟授权者要 url 了。
goodryb
2019-09-17 10:53:03 +08:00
如果是开放读取的,那访问 url 就是 所在 region 的 endpoint+key 路径

如果是私有读取的,那应该有另外一个接口获取鉴权后的 URL
nikandaoleshenme
2019-09-17 11:06:31 +08:00
那么多文档你不看么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/601413

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX