我采用了棱角分明文件上传过和的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
});
}
};
我收到我的文件我的服务器上像这样带有故宫“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
}
}
});
希望它有帮助。
在演示页面上,我看着Json按代码返回,有一段长度。函数onAfterAddingFile返回一个具有_file和长度的对象 – Alexis
它不会传递类似于“Content-Length”的标头... – Davide
您只需将正确的属性发送给您的大小......您可以在后端发送您想要的内容服务器,你有一个长度,所以发送它 – Alexis