我对Javascript和Node JS更新鲜。我正在寻找上传包含图片的zip文件的解决方案,并将这些图片永久链接。现在我可以上传一个zip文件并提取其中的所有图片,如下所示:
var express = require('express');
var router = express.Router();
var multer = require('multer');
var fs = require('fs');
var AdmZip = require('adm-zip');
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'public/uploads/');
},
filename: function (req, file, cb) {
cb(null, file.originalname);
}
});
var upload = multer({ storage: storage }).any();
/* get home page. */
router.get('/', function (req, res) {
res.render('index', { title: 'express' });
});
router.post('/', upload, function (req, res) {
var zip = new AdmZip("./public/uploads/Camera Roll.zip");
zip.extractAllTo('public/uploads/', true);
res.send(req.files);
});
module.exports = router;
上传zip文件后,我将其保存在“public / uploads /”中。如何获取保存上传的zip文件的路径,因为现在我只是在我的代码中识别它(var zip = new AdmZip(“./ public / uploads / Camera Roll.zip”);)。是否有任何变量来表示它?一旦我解压缩文件,所有图片都在“公共/上传”文件夹中,这是否意味着我给所有图片提供了永久链接?
答案 0 :(得分:1)
我找到了。只需使用req.file.path但需要首先使用var upload = multer({storage:storage})。single(filename);