【发布时间】:2018-06-24 16:43:49
【问题描述】:
我已经设法使用节点 js 应用程序在数字海洋空间上上传 pdf 文件,如下所示。 我不知道如何访问这些文件并将它们显示给用户。我从本教程中获得了以下代码,object storage file upload,,但没有关于如何访问文件的示例。 当我只是尝试使用他们的 url 访问它们时,我只会得到空白。 我已将它们公开,但尝试从 url 访问它们仍然一无所获。 有没有办法使用 multer 访问文件,我是否必须使用 RESTFul API 发出获取请求?如何访问存储在数字海洋空间中的文件?
这就是我上传文件的方式
const aws = require("aws-sdk");
const multer = require("multer");
const multerS3 = require("multer-s3");
const spaceEndPoint = new aws.Endpoint("ams3.digitaloceanspaces.com");
const s3 = new aws.S3({
endpoint:spaceEndPoint
})
const upload = multer({
storage:multerS3({
s3:s3,
bucket: "fileRepo",
acl:"public-read",
key:function(request, file, cb){
console.log(file);
cb(null, file.originalname);
}
})
}).array("upload",1);
router.get("uploadFile", function(req,res){
upload(req, res, function(error){
if(error){
console.log(error);
return res.redirect("/");
}
});
})
这就是我尝试检索 pdf 的方式
router.get("/contentPage", function(req, res){
var fileName = req.body.department;
var directory = "https://fileRepo.ams3.digitaloceanspaces.com/" + fileName + ".pdf";
res.render("fileview", {dir: directory});
})
<div id="departmentListWrapper" class="container">
<embed src="<%= dir %>" width="800px" height="2100px" />
</div>
谁能告诉我检索这些文件可能会出现什么问题?
【问题讨论】:
标签: node.js amazon-s3 object-storage