【发布时间】:2016-01-18 05:23:26
【问题描述】:
我在使用 Node.js 中的 Multer 模块上传文件时遇到一个问题。我在下面解释我的代码。
server.js:
var multer = require('multer');
var upload = multer({ dest: './upload/' });
var cpUpload = upload.fields([{ name: 'images', maxCount: 1}]);
var app=express();
var server=http.createServer(app);
var admin=require('./route/route.js');
app.post('/uploadAll',cpUpload,function(req, res, next){
console.log('fiels',req);
})
supplierController.js:
var file=fileURL;
var curnum=(Math.random() * new Date().getTime()).toString(36).replace(/\./g, '');
var newPicpath=curnum+"_"+ file.name;
file.name=newPicpath;
console.log('file',file);
$scope.upload=Upload.upload({
url: '/uploadAll',
method:'POST',
data:{
images: file,
},
headers : {
'Content-Type': 'multipart/form-data'
},
}).success(function(data, status, headers, config) {
}).error(function(data, status) {
console.log('err file',data);
})
在控制台消息中,我正在获取以下文件数据。
Blob
$ngfName:"vse123ertgf_1.jpg"
name:"vse123ertgf_1.jpg"
size:8607
type:"image/jpeg"
在这里您可以检查我的文件名是否包含一个随机数。当我上传文件时,文件会上传到给定文件夹中,但使用另一个随机数(i.e-75149c6770ea216b5ad8aafa7698539d)作为其名称且没有扩展名(@ 987654325@)。这里我也在客户端的错误函数中得到错误响应。我正在使用ng-file-upload 上传文件。这里我需要文件应该使用其原始名称上传到所需的文件夹中请帮我解决这个问题。
【问题讨论】:
标签: angularjs node.js multer ng-file-upload