我知道有很多关于这个的问题,但我不能让这个工作:
我想在multipart / form-data中将文件从输入上传到服务器
我尝试了两种方法。第一:
headers: { 'Content-Type': undefined },
这导致例如对于图像
Content-Type:image/png
而它应该是multipart / form-data
和另一个:
headers: { 'Content-Type': multipart/form-data },
但这要求一个边界标题,我认为不应该手动插入…
$httpProvider.defaults.headers.post['Content-Type'] = 'multipart/form-data; charset=utf-8';
但我不希望我的所有帖子都是multipart / form-data。默认值应为JSON
看一下FormData对象:
https://developer.mozilla.org/en/docs/Web/API/FormData
https://developer.mozilla.org/en/docs/Web/API/FormData
this.uploadFileToUrl = function(file,uploadUrl){ var fd = new FormData(); fd.append('file',file); $http.post(uploadUrl,fd,{ transformRequest: angular.identity,headers: {'Content-Type': undefined} }) .success(function(){ }) .error(function(){ }); }