AngularJS下$http上传文件(AngularJS file upload/post file)

来源:互联网 发布:做矢量图的软件 编辑:程序博客网 时间:2024/04/28 22:10

AngularJS下$http上传文件(AngularJS file upload/post file)

上一次因为赶着完成进度,所以用$.ajax实现了文件上传(上一篇迭代总结有),这阵子需求完成得很快,没有什么事情搞就在看书,加上我们老大说以后要去掉jQuery,所以无聊就搞了一下$http写文件上传。因为两个的原理是一样的,所以其实差不多,主要是在参数设置上可能会有问题。

$http({  method:'POST',  url: 'url',  headers: {    'Content-Type': undefined  },  data: {    filename:document.getElementsByClassName('input-file')[0].files[0],    problemType: '3'  },  transformRequest: (data, headersGetter) => {    let formData = new FormData();    angular.forEach(data, function (value, key) {      formData.append(key, value);    });    return formData;   }}).success(() => {  alert('Upload Successfully');}).error(() => {  alert('Fail to upload, please upload again');});

值得注意的是,contentType这里设置成了undefined主要是因为AngularJS本身其实是默认上传的是JSON格式的(application/JSON),如果我们将其设置成undefined,则可以保证在data转成formData之前被识别,而之后其实Angular会帮我们自动识别的。

如有疑问,欢迎发邮件到kcnnow(at)gmail.com一起讨论。如需转载,请注明出处。谢谢!

0 0
原创粉丝点击