从S3下载文件(PDF / Jpg / Doc)并在UI上查看而无需下载

时间:2017-12-11 18:38:38

标签: javascript node.js amazon-web-services express amazon-s3

我已在S3上传文件(Docx,PDF,JPG),我想从S3获取文件并在网页上呈现,而不下载内容。

Index.js
    var AWS = require('aws-sdk');
    var btoa = require('btoa');
    AWS.config.update(
      {
          accessKeyId: "accessKeyId",
           secretAccessKey: "secretAccessKey"
      }
    );
    var s3 = new AWS.S3();
    s3.getObject(
      { Bucket: "bucket", Key: "test.PDF" },
      function (error, data) {
        if (error != null) {
          console.log("Failed to retrieve an object: " + error);
        } else {
            var Base64 = require('js-base64').Base64;
            var b = Base64.encode(data.Body);
            var fileToView = "data:image/jpeg;base64," + b;
            res.render('index', { title: '' , pdfVal: fileToView });
        }
      }
    );

index.ejs

   <!DOCTYPE html>
<html>
  <head>
    <title><%= title %></title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>
    <h1Welcome <%= title %></h1>
    <a href="<%= pdfVal %>"></a>
  </body>
</html>

我想呈现PDF或任何文件类型,以便在页面上查看它而无需从Amazon S3下载。

即使将内容类型附加到字节后,我也无法查看该文件。 我试图跟踪一些堆栈溢出问题,但它没有帮助。可以有人帮我这个吗?或者以前Stackoverflow问题的链接也会有所帮助。

0 个答案:

没有答案