angular-file-upload 是一个基于HTML5技术的文件上传轻量级 AngularJS指令(directive),当浏览器不支持时转为采用 FileAPI polyfill技术实现(基于Flash)。本文主要给大家介绍Angular Js文件上传之form-data,需要的朋友可以参考下
前言:很久没更新博客,最近公司pc端技术选型用angular,这几天就赶鸭子上架,硬着头皮直接上手angular。其中有许多小坑陆陆续续踩起走。今天就遇到一个比较常见的问题:图片上传。
主题:图片上传服务器,然后通过服务器传阿里云。
不废话了直接贴前端代码:
$http({
method: ‘POST‘,
url: ‘/wechatapp/User/setAvatar‘,
data: data,
headers: {
‘Content-Type‘: undefined
},
transformRequest: function(data) {
var formData = new FormData();
formData.append(‘avatar_data‘, data.adata);
formData.append(‘avatar_file‘, data.file);
return formData;
},
data: {
adata: scope.avatar_data,
file: scope.avatar_file
}
}).success(function(d) {
//请求成功
cb(d);
}).error(function(err, status) {
console.log(err);
cb(err);
});
其实没神马难点,主要是取消post默认的Content-Type,然后已FormData的方式上传。一般ajax上传文件都是以FormData方式传。
以上就是本文给大家介绍Angular Js文件上传之form-data,希望大家喜欢。 |