当前位置:   article > 正文

前端反显后端图片、上传预览图片

前端反显后端图片、上传预览图片

 一、下载反显图片

1、将文件下载为blob格式文件。

2、将后端返回的文件转为base64,然后将解析完的数据赋值到图片组件上。 

将后端返回的数据解拿出,调用转换base64 方法:

  1. downloadFile(_this.userInfo.imgUrl).then(res => {
  2. res = res.data
  3. base64(res).then(res => {
  4. _this.imaUrlData = res
  5. })
  6. }).catch(err => {
  7. message({
  8. message: err,
  9. type: "error",
  10. });
  11. })

解析为base64编码 

  1. export const base64 = (stream) => {
  2. return new Promise((resolve, reject) => {
  3. const reader = new FileReader();
  4. reader.onload = function (e) {
  5. resolve(e.target.result);
  6. };
  7. reader.onerror = reject;
  8. reader.readAsDataURL(stream);
  9. });
  10. }

imaUrlData赋值到图片组件上:

  1. <el-col :span="3">
  2. <el-avatar
  3. class="head_portrait"
  4. shape="circle"
  5. @error='true'
  6. :size="110"
  7. :src="imaUrlData">
  8. </el-avatar>

 二、编辑时预览:

1、判断文件类型、然后将文件解析为Base64、上传成功后替换显示数据(使用两个formDate对象哦,一个用于显示,一个用于表单修改)。

  1. onFileChange(e) {
  2. let file = e.target.files[0];
  3. if (null == file) {
  4. message({
  5. message: '选择在的文件为空!',
  6. type: "error",
  7. })
  8. this.$refs.fileFile.value = null
  9. } else {
  10. let arr = ['jpeg', 'png', 'jpg']
  11. if (!arr.includes(file.type.split('/')[1])) {
  12. message({
  13. message: '上传文件格式不正确!',
  14. type: "error",
  15. })
  16. this.$refs.fileFile.value = null
  17. } else {
  18. let reader = new FileReader();
  19. reader.onload = (event) => {
  20. this.fromData.imaUrlData = event.target.result;
  21. let formData = new FormData()
  22. formData.append('file', file)
  23. this.uploadImage(formData);
  24. };
  25. reader.readAsDataURL(file);
  26. }
  27. }
  28. }

  1. uploadImage(base64Image) {
  2. // 发送Base64图像到后端
  3. uploadFile(base64Image).then(res => {
  4. this.fromData.imgUrl = res.data.msg
  5. // console.log('上传文件1',res)
  6. }).catch(err => {
  7. message({
  8. message: '上传失败',
  9. type: "error",
  10. });
  11. console.log('上传文件出错', err)
  12. })
  13. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/849866
推荐阅读
相关标签
  

闽ICP备14008679号