base64图片转file的处理
注意:后端返回的base64图片,有的没有code,可能会遭遇响应拦截器拦截,要去主动解除限制
request.js中
//数据处理错误接口}else if(res.code == 400){message({message: res.msg || '请求出错,请重试',type: 'error',duration: 1500 })return Promise.reject(new Error(res.msg || 'Error'))}else if (res.code !== 200) {//下载文件由于没有code所以可以直接通过if(url.indexOf('/excel')){return response}
1、第一种,base64图片先转成blob对象,然后将对象转为file
(1)从接口获取base64图片
// 获取下载文件链接
export function getDownloadUrl(type, fileName) {return request({url: `/api/file/Download/${type}/${fileName}`, //换成自己的接口method: 'get'})
}
(2)将base64转为blob对象
//base64转成blob export function dataURLtoFile(dataURI) {let binary = atob(dataURI.split(",")[1]);let array = [];for (let i = 0; i < binary.length; i++) {array.push(binary.charCodeAt(i));}return new Blob([new Uint8Array(array)], { type: 'image/png'});
}
(3)将blob对象转成file文件
//将blob转为file
export function uploadImg(fileData) {let formData = new FormData();let fileOfBlob = new File([fileData], new Date() + ".png"); // 命名图片名formData.append("file", fileOfBlob);return formData
}
2、直接将base64转为文件
//base64图片转成文件流格式
export function base64ToFile(data, fileName) {const dataArr = data.split(",");const byteString = atob(dataArr[1]);const options = {type: "image/jpeg",endings: "native"};const u8Arr = new Uint8Array(byteString.length);for (let i = 0; i < byteString.length; i++) {u8Arr[i] = byteString.charCodeAt(i);}let formData = new FormData();let fileOfBlob = new File([u8Arr], fileName + ".jpg", options);//返回文件流formData.append("file", fileOfBlob);return formData
}
3、如果文件需要上传(以file格式),则需要配置上传函数upload,注意headers要转码
//上㤔 图片
export function uploadFile({type,data}){return request({"url":`${define.uploadUrl}/${type}`,"method":"POST", data,headers:{'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'}})
}
4、使用时
import {base64ToFile,uploadFile} from "@/api/common.js";let data = base64ToFile(img,this.selectObj.id+"sign");
uploadFile({"type":"signImg","data":data
}).then(resp=>{})
base64图片转file的处理相关推荐
- base64图片转换file,并上传到阿里云
第一步:创建base64util package com.yuantu.util; import org.springframework.util.Base64Utils;/*** @author A ...
- java将base64图片转为file上传到服务器
首先后台先创建工具类 package org.adv.fw.modular.util;import java.io.ByteArrayInputStream; import java.io.File; ...
- 前端将base64图片转换成file文件
1.base64转成file具体代码 // base64图片转file的方法(base64图片, 设置生成file的文件名)function base64ToFile(base64, fileName ...
- vue中调用摄像头拍照,并把拍照的base64格式转换为file传递后台
需求: 在vue项目中使用摄像头拍摄照片传递,进行上传,如果上传成功可以获取到url链接,进行下一步的操作 内容梳理 1.首先进入页面打开摄像头 2.点击手动拍照进行拍摄照片,实时显示拍照效果 3.拿 ...
- img图片的预览和下载(iframe基本使用),图片转file格式,file文件转base64格式,base64的编码和解码
目录 一.根据后端接口返回的URL下载和预览图片 1.调用下载图片函数实现下载图片 2.弹出另一个页面,实现预览图片. 3.不弹出另一个页面,实现下载/预览图片(iframe方式) 4.动态创建ifr ...
- 在PHP里使用 ImageMagick 生成 base64 图片
个人博客 duanruilong.github.io/blog/ 本文原地址duanruilong.github.io/blog/2018/0- 最近的PHP项目中,需要用到画图和图片拼接效果,这里是 ...
- java image to base64_Java实现base64图片编码数据转换为本地图片的方法
本文实例讲述了Java实现base64图片编码数据转换为本地图片的方法.分享给大家供大家参考,具体如下: 项目中用到的把base64图片数据转为本地图片的函数 /** * 替换html中的base64 ...
- java后台保存base64图片数据
java后台保存base64图片数据 使用byte[] bytes = new BASE64Decoder().decodeBuffer(str);需要引入sun.misc.BASE64Decoder ...
- java 微信开发图片发送,微信开发?Java上传Base64图片
class="java">import org.apache.commons.codec.binary.Base64; import org.apache.log4j.Log ...
最新文章
- Educational Codeforces Round 45 (Rated for Div. 2) D	 Graph And Its Complement(图的构造)
- 数字签名与数字证书是什么
- python导入csv文件-python如何导入csv
- java list pair_JavaList
- k8s 更改pod数量限制(默认每个节点最多110组pod)0/3 nodes are available: 3 Insufficient cpu报错排查
- Ubuntu换源失败:Could not get lock /var/lib/apt/lists/lock - open
- 判断linux进程是否存在
- vue 根据字符串生成表单_vue 中怎么渲染字符串形式的组件标签?
- TTL怎么计算拉电流和灌电流_预付费电表工作原理 是怎么实现断电功能
- 关于UIScrollViewDelegate协议中每个回调函数的意义及执行
- 走进start_kernel尾声
- QQlook--QQ空间密码 相册密码查看工具 国庆版 V2.4
- 大学计算机类专业详解,多伦多大学计算机相关专业解析
- 互联网思维之迭代思维
- R语言学习| 马氏距离mahanobis函数
- 转换上课周次字符串(我带着困惑我一周之久的编程题来了)
- 数学方法生成六位随机数
- 对视频声音,音频进行音量标准化和响度均化,归一化的标准,原理以及具体操作
- linux php启动端口,linux中如何开放指定端口
- MEM/MBA数学强化(06)数列
热门文章
- 这样学Shader可以少走几年弯路,看完我信了……
- 使用Hadoop提取网络日志KPI指标
- 锁定计算机黑屏怎么办,win10锁定屏幕就黑屏怎么办_win10电脑锁定了黑屏怎么办...
- AV Foundationd 学习之(一)
- Error in v-on handler: “TypeError: this.$refs.popup.isShow is not a function“
- 2017年第四八届C/C++ B组蓝桥杯省赛真题
- 迅为i.MX6开发板mqtt 移植教程(一)
- 计量经济学:异方差性
- [乐意黎]2016年中级会计师考试《经济法》真题及答案-第一批(9.10-9.11)
- python中sha1 md5等用法