V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
maruize321
V2EX  ›  程序员

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

  •  
  •   maruize321 · 2019-09-17 10:26:46 +08:00 · 1694 次点击
    这是一个创建于 1927 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    如果是私有读取的,那应该有另外一个接口获取鉴权后的 URL
    nikandaoleshenme
        3
    nikandaoleshenme  
       2019-09-17 11:06:31 +08:00
    那么多文档你不看么
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4299 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:11 · PVG 18:11 · LAX 02:11 · JFK 05:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.