我已在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问题的链接也会有所帮助。