我使用https://github.com/nervgh/angular-file-upload/,我需要将文件大小发送到后端服务器。
我找不到任何解决方案,这是我收到的标题:
{
filename:'new02.png',
headers:{
'content-disposition':'form-data; name="files"; filename="new02.png"',
'content-type':'image/png'
}
}
答案 0 :(得分:1)
$scope.uploadFile = function(files) {
files[0].type; //MIME type
files[0].size; //File size in bytes
};
答案 1 :(得分:0)
我也使用angular-file-upload和node.js服务器。
这是我在角度控制器中上传文件的方式:
$scope.uploadInternationalFile = function(file) {
if (file && file.length) {
file.upload = Upload.upload({
url: '/api/upload',
method: 'POST',
file: file
});
file.upload.then(function(response) {
// file Sent
});
}
};
我在我的服务器上接收了这样的文件,如下所示:npm' multer'包:
<强> module.js 强>
var privateStorage = multer.diskStorage({
destination: function(req, file, callback) {
callback(null, './files/');
},
filename: function(req, file, callback) {
callback(null, file.originalname);
}
});
var limits = {
fieldNameSize: 100,
fileSize:20000000,
files: 1,
fields: 5
};
var self = module.exports = {
uploadPrivate: multer({
storage:privateStorage,
limits:limits
}).single('file')
};
这是我的API:
var fileUpload = require('module.js');
app.post('/api/upload', function(req, res) {
fileUpload.uploadPrivate(req, res, function(err) {
if (err) {
// There is an upload error
}
else {
// Your file has been sent
}
}
});
希望它有所帮助。