angular 文件上传 nervgh/angular-file-upload
angular file upload with nervgh/angular-file-upload
我正在从 angular 执行 https://github.com/nervgh/angular-file-upload 插件上传文件,我的设置是这样的:
var vm = this,
apiUrl = appConfig.getItem('BASE_API_URL'), // base url;
vm.uploader = $scope.uploader = new FileUploader({
url: apiUrl + '/invoices/upload',
headers: {
"Content-Type": undefined
}
});
// this function is triggered by a button outside
vm.uploadAll = function () {
vm.uploader.uploadAll();
};
在 html 我有
<input id="uploadFileButton"
type="file"
nv-file-select
uploader="FUCtrl.uploader"
multiple
style="display: none;"/>
// the display none is due to that this input is click triggered
// by an outside button
问题是,对于从客户端开始的 post 请求,我看到了这个
上传了一张图片(理论上),但内容类型未定义,缺少 enctype,另一方面在服务器端我有这个
var express = require('express'),
multer = require('multer'),
cors = require('cors');
var app = express();
app.use(cors());
app.get('*', function(){});
app.use(multer({dest:'./uploads/'}).single('photo'));
app.post('/upload', function(req, res){
console.log('hit');
console.log(req.body); // form fields
console.log(req.files); // form files
res.status(204).end();
});
app.listen(3000);
但是当我收到 post 我在控制台上看到
console.log(req.body); // {}
console.log(req.files); // 未定义
我无法从 pdf 上传中获取任何数据
我错过了什么?
嘿伙计,我不知道那个插件。但我正在使用这个 https://github.com/danialfarid/ng-file-upload 插件,我发现它很有帮助。这是上传文件的最简单方法。
Upload with form submit and validations:
http://jsfiddle.net/danialfarid/maqbzv15/1118/
Upload multiple files one by one on file select:
http://jsfiddle.net/danialfarid/2vq88rfs/136/
Upload multiple files in one request on file select (html5 only):
http://jsfiddle.net/danialfarid/huhjo9jm/5/
Upload single file on file select:
http://jsfiddle.net/danialfarid/0mz6ff9o/135/
Drop and upload with $watch:
http://jsfiddle.net/danialfarid/s8kc7wg0/400/
Image Crop and Upload
我终于在 HTML
上找到了解决方案
nv-file-select
应该是
nv-file-select=""
并删除
headers: {
"Content-Type": undefined
}
从上传器配置来看,显然那些东西没有很好地设置内容类型和他的边界,所以我把它们拿出来让它工作
我正在从 angular 执行 https://github.com/nervgh/angular-file-upload 插件上传文件,我的设置是这样的:
var vm = this,
apiUrl = appConfig.getItem('BASE_API_URL'), // base url;
vm.uploader = $scope.uploader = new FileUploader({
url: apiUrl + '/invoices/upload',
headers: {
"Content-Type": undefined
}
});
// this function is triggered by a button outside
vm.uploadAll = function () {
vm.uploader.uploadAll();
};
在 html 我有
<input id="uploadFileButton"
type="file"
nv-file-select
uploader="FUCtrl.uploader"
multiple
style="display: none;"/>
// the display none is due to that this input is click triggered
// by an outside button
问题是,对于从客户端开始的 post 请求,我看到了这个
上传了一张图片(理论上),但内容类型未定义,缺少 enctype,另一方面在服务器端我有这个
var express = require('express'),
multer = require('multer'),
cors = require('cors');
var app = express();
app.use(cors());
app.get('*', function(){});
app.use(multer({dest:'./uploads/'}).single('photo'));
app.post('/upload', function(req, res){
console.log('hit');
console.log(req.body); // form fields
console.log(req.files); // form files
res.status(204).end();
});
app.listen(3000);
但是当我收到 post 我在控制台上看到 console.log(req.body); // {} console.log(req.files); // 未定义
我无法从 pdf 上传中获取任何数据
我错过了什么?
嘿伙计,我不知道那个插件。但我正在使用这个 https://github.com/danialfarid/ng-file-upload 插件,我发现它很有帮助。这是上传文件的最简单方法。
Upload with form submit and validations:
http://jsfiddle.net/danialfarid/maqbzv15/1118/
Upload multiple files one by one on file select:
http://jsfiddle.net/danialfarid/2vq88rfs/136/
Upload multiple files in one request on file select (html5 only):
http://jsfiddle.net/danialfarid/huhjo9jm/5/
Upload single file on file select:
http://jsfiddle.net/danialfarid/0mz6ff9o/135/
Drop and upload with $watch:
http://jsfiddle.net/danialfarid/s8kc7wg0/400/
Image Crop and Upload
我终于在 HTML
上找到了解决方案nv-file-select
应该是
nv-file-select=""
并删除
headers: {
"Content-Type": undefined
}
从上传器配置来看,显然那些东西没有很好地设置内容类型和他的边界,所以我把它们拿出来让它工作