2017-10-07 20 views
0

以下のコードを使用して署名付きURLを取得します。私は署名されたURLを取得していると、一度私はファイルをダウンロードするURLを開きます。しかし、私はファイルを表示することができるURLが欲しい。新しいタブでファイルを開くのと同じです。閲覧可能なs3 url nodejsを生成する方法

私は、誰もが、私はファイルを表示できるURLを生成する方法を知ってい

const s3 = new AWS.S3(); 

s3.getSignedUrl('getObject', { 
      Expires: options.expires || 300, 
      Bucket: config.awsBucket, 
      Key: key, 
      // ACL: 'public-read', 
      ResponseContentDisposition :'inline;filename=report.pdf'}, 
      function(err, url) { 
      if (err) { 
       return deferred.reject(err); 
      } 
      return deferred.resolve(url); 
     }); 

以下のようにS3をAWS-SDKパッケージを使用して生成しています。

+0

問題が解決しない場合は、解決する前にURLを印刷して、署名付きのURLを確認できますか? – Kannaiyan

+0

私は良いaws URLを取得しますが、URLを開く際にファイルがブラウザにファイルを表示するのではなくダウンロードされています –

+0

[AWS CLIでS3にアップロードするときにContent-Typeを設定するにはどうすればいいですか?](https: /stackoverflow.com/questions/29643455/how-do-i-set-content-type-when-uploading-to-s3-with-aws-cli) – Kannaiyan

答えて

0

ファイルをアップロードしたときにContent-Typeを正しく設定しなかった場合は、ブラウザが正しく判断するdefault type is binary/octet-streamがインラインで表示されないため、この動作が予想されます。

getSignedUrl()要求のResponseContentTypeを正しい値に設定することで回避できます。

PDFファイルの正しいタイプはapplication/pdfです。

関連する問題