angularjs – 使用$http发送带角度的multipart/form-data文件

前端之家收集整理的这篇文章主要介绍了angularjs – 使用$http发送带角度的multipart/form-data文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道有很多关于这个的问题,但我不能让这个工作:

我想在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
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(){
        });
    }

猜你在找的Angularjs相关文章