图片上传流程

20 篇文章 0 订阅


之所以这么做的原因是图片上传比较忙,所以先上传其他的东西,都上传成功之后再上传图片
一般来讲是4步,调用4个接口

1.本地 用fileReader 来预览图片 

  

<form class="form-horizontal" novalidate #studentInfo="ngForm" (ngSubmit)="modifyInfo(studentInfo)">
<img src="{{studentData?.avatar}}" alt="{{studentData.name}}" onerror="javascript:this.src='../../../../assets/images/user.png'" #img/>
<input id="file2" type="file" (change)="upload(fileUpload,img)" #fileUpload/>
</form>

下面的upload 是input type="file"  的事件,先做了一个本地的预览
/**
 * 更改头像
 * @param data
 * @param img
 * @returns {boolean}
 */
upload(data,img) {
  let file = data.files[0];
  let me = this;
  if (!/image\/\w+/.test(file.type)) {
    swal(SettingsService.I18NINFO.swat.e221);
    return false;
  }
  var reader = new FileReader();
  reader.readAsDataURL(file);
  reader.onload = function (e) {
    img.src = this.result;
    me.imgBase64 = this.result;
  }
}

这里的this 指的是FileReader 对象,他是有这个result属性的

2. 在表单提交成功后,获取uuid 
    表单提交的内容并没有图片的信息。是在下面把base64位的图片上传的。

3. 图片和uuid 进行绑定提交到图片服务器
    图片的base64 位地址跟uuid 绑定上传到服务器
4. 上传这个人的 code 和 uuid 到主服务器
     这样才完成了真正的上传图片
     


上面是原生的,还有一个包

ng2-file-upload  

也可以用来文件上传,其步骤也可以按照上面来做,着这样会比较快点。这个包提供了大量的的api,其功能非常的强大。


 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值