Javascript 从本地文件夹上载和显示文件
一般来说,我对NodeJS和web开发非常陌生。我正在使用multer在我的web应用程序中上载单个文件。这很好,文件被上传到我的“uploads”文件夹中,我计划将此路径保存到我的数据库中,以便我可以访问此文件。我遇到的问题是显示它(它是一个图像) 文件保存如下: 我不确定要保存在数据库中的路径。是否应上传/2E3546B42893112416422E5D1D9310E?或者我需要一个扩展 文件的JSON对象如下所示:Javascript 从本地文件夹上载和显示文件,javascript,node.js,express,upload,multer,Javascript,Node.js,Express,Upload,Multer,一般来说,我对NodeJS和web开发非常陌生。我正在使用multer在我的web应用程序中上载单个文件。这很好,文件被上传到我的“uploads”文件夹中,我计划将此路径保存到我的数据库中,以便我可以访问此文件。我遇到的问题是显示它(它是一个图像) 文件保存如下: 我不确定要保存在数据库中的路径。是否应上传/2E3546B42893112416422E5D1D9310E?或者我需要一个扩展 文件的JSON对象如下所示: { fieldname: 'mapImage', originaln
{ 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
})
然后将文件名保存到数据库中上传文件之前,您需要重命名文件。 下面是一个简单的方法
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
})
然后将文件名保存到数据库中