- 前言:很久没更新博客,最近公司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方式传。这点不难,主要是新手处理问题。
下面推荐一个比较不错的图片截取插件:cropper,源码地址:https://github.com/fengyuanchen。