Express Angular JS文件上载是';“连接多方”无法正确处理
在过去的几个小时里,我一直在胡思乱想,我希望这里有人能帮我。我有一个角度的应用程序,它正在使用,无论我尝试什么,我似乎都无法从另一端取出文件 我确实在Chrome开发者工具中看到了正确的请求负载:Express Angular JS文件上载是';“连接多方”无法正确处理,express,Express,在过去的几个小时里,我一直在胡思乱想,我希望这里有人能帮我。我有一个角度的应用程序,它正在使用,无论我尝试什么,我似乎都无法从另一端取出文件 我确实在Chrome开发者工具中看到了正确的请求负载: ------WebKitFormBoundaryEwG0XOfjS0IjwRji Content-Disposition: form-data; name="file"; filename="images.png" Content-Type: im
------WebKitFormBoundaryEwG0XOfjS0IjwRji
Content-Disposition: form-data; name="file"; filename="images.png"
Content-Type: image/png
------WebKitFormBoundaryEwG0XOfjS0IjwRji-
我在服务器端的代码如下所示,我使用的路由器使用的是connect multiparty
Router.js:
router.post('/api/v1/uploaddocument', multipartyMiddleware, UserFunctions.saveDocument);
实际保存文档功能:
saveDocument: function(req,res)
{
console.log(req.body, req.files, req.data, req.file)
}
在angular中发布此消息的控制器是:
iSelectClient.controller('PageUploadDocumentCtrl', ['$scope', 'Upload', function ($scope, Upload) {
$scope.$watch('files', function () {
$scope.upload($scope.files);
});
$scope.upload = function (files) {
if (files && files.length) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
Upload.upload({
url: 'http://localhost:3000/api/v1/uploaddocument',
fields: {'username': $scope.username},
file: file
}).progress(function (evt) {
var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
console.log('progress: ' + progressPercentage + '% ' + evt.config.file.name);
}).success(function (data, status, headers, config) {
console.log('file ' + config.file.name + 'uploaded. Response: ' + data);
});
}
}
};
}]);
iSelectClient.controller('PageUploadDocumentCtrl',['$scope','Upload',函数($scope,Upload){
$scope.$watch('files',function(){
$scope.upload($scope.files);
});
$scope.upload=函数(文件){
if(files&&files.length){
对于(var i=0;i
我不是在服务器端使用app.use(bodyparser()),而是为每个路由定义要使用的解析器
那会是什么
编辑
我在每次调用中都有一个拦截器,它将应用程序类型设置为json,因此它从未正确到达另一端。现在修复了,使用与下面完全相同的设置我在每次调用中都有一个拦截器,它将应用程序类型设置为json,因此它从未正确到达另一端。现在已修复,使用与下面完全相同的设置