从本地文件夹上传和显示文件
Uploading and displaying files from local folder
总的来说,我对 NodeJS 和 Web 开发还很陌生。我正在使用 multer 在我的 Web 应用程序中上传单个文件。这工作正常,文件被上传到我的 "uploads" 文件夹中,我计划将此路径保存在我的数据库中,以便我可以访问此文件。我遇到的问题是显示它(它是一个图像)。
文件保存如下:
我不确定在我的数据库中保存哪个路径。应该是uploads/2e3546b428931124164022e5d1d9310e?或者我需要扩展吗?
文件的 JSON 对象如下所示:
{ fieldname: 'mapImage',
originalname: 'office-wallpaper-2.png',
encoding: '7bit',
mimetype: 'image/png',
destination: 'uploads/',
filename: '2e3546b428931124164022e5d1d9310e',
path: 'uploads/2e3546b428931124164022e5d1d9310e',
size: 736807 }
您需要在上传前重命名您的文件。
一种简单的方法如下
var storage = multer.diskStorage({
destination: './public/uploads/',
filename: function(req, file, cb) {
crypto.pseudoRandomBytes(16, function(err, raw) {
if (err) return cb(err);
cb(null, raw.toString('hex') + path.extname(file.originalname));
})
}
})
var upload = multer({
storage: storage
})
然后将文件名保存到您的数据库中
总的来说,我对 NodeJS 和 Web 开发还很陌生。我正在使用 multer 在我的 Web 应用程序中上传单个文件。这工作正常,文件被上传到我的 "uploads" 文件夹中,我计划将此路径保存在我的数据库中,以便我可以访问此文件。我遇到的问题是显示它(它是一个图像)。
文件保存如下:
我不确定在我的数据库中保存哪个路径。应该是uploads/2e3546b428931124164022e5d1d9310e?或者我需要扩展吗?
文件的 JSON 对象如下所示:
{ fieldname: 'mapImage',
originalname: 'office-wallpaper-2.png',
encoding: '7bit',
mimetype: 'image/png',
destination: 'uploads/',
filename: '2e3546b428931124164022e5d1d9310e',
path: 'uploads/2e3546b428931124164022e5d1d9310e',
size: 736807 }
您需要在上传前重命名您的文件。 一种简单的方法如下
var storage = multer.diskStorage({
destination: './public/uploads/',
filename: function(req, file, cb) {
crypto.pseudoRandomBytes(16, function(err, raw) {
if (err) return cb(err);
cb(null, raw.toString('hex') + path.extname(file.originalname));
})
}
})
var upload = multer({
storage: storage
})
然后将文件名保存到您的数据库中