//这是我的 Controller
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")
});
}
//这是我的服务
this.uploadCsv=function(file){
alert("inside upload csv service ");
return $http.post('http://localhost:3005/customers/csv').then(function(response){
deferred.resolve(response.data);
return deferred.promise;
},
function(error){
deferred.reject(error);
return deferred.promise;
});
};//end of uploadCsv function
我必须以键值发送文件,键是“upl”,值是文件。我可以从 View 中获取文件(html)
最佳答案
通过 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;
});
}; //
关于javascript - 如何使用post方法从方法上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37298462/