//这是我的控制器
()
//这是我的服务
function addFile(file){
alert("inside add file");
customerService.uploadCsv(file).then(function(response){
if(response=="success"){
alert("file uploaded");
}else{
alert("something went wrong");
}
},
function(error){
alet("error")
});
}
我必须以密钥值发送文件,密钥为'upl',值为file.I ma从视图中获取文件(html)
答案 0 :(得分:1)
按formData
,请参阅Document
this.uploadCsv = function(file) {
alert("inside upload csv service ");
var fd = new FormData();
fd.append('upl', file);
$http.post('http://localhost:3005/customers/csv', fd, {
transformRequest: angular.identity,
headers: {
'Content-Type': undefined
}
})
.then(function(response) {
deferred.resolve(response.data);
return deferred.promise;
},
function(error) {
deferred.reject(error);
return deferred.promise;
});
}; //

答案 1 :(得分:1)
我看到你用Node.js标记了这篇文章。如果您正在使用Node,那么有一个有用的模块可以轻松上传文件:Multer
只需添加:
var multer = require('multer')
var upload = multer({ dest: 'uploads/' })
已在服务器上创建/上传(根据需要命名)。
然后,如果你以Express为例,只需用:
来调用它app.post('/profile', upload.single('fileName'), function (req, res, next) { // code here });
最后不要忘记在视图中将enctype添加到视图中,如描述here(文件检查表单的multipart / form-data)。
已经完成了!