data:image data url 文件上传
一些场景,比如canvas获取的图片,或者微信开发sdk返回的图片格式是data:img
格式的,我们需要上传到服务器上,那就需要进行转化。
1、将dataURL转成Blob
// base64 转 blob
dataURItoBlob(dataURI) {// convert base64/URLEncoded data component to raw binary data held in a stringlet byteString;if (dataURI.split(',')[0].indexOf('base64') >= 0) {byteString = atob(dataURI.split(',')[1]);} else byteString = unescape(dataURI.split(',')[1]);// separate out the mime componentconst mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];// write the bytes of the string to a typed arrayconst ia = new Uint8Array(byteString.length);for (let i = 0; i < byteString.length; i++) {ia[i] = byteString.charCodeAt(i);}return new Blob([ia], { type: mimeString });
},
2、构建Form上传表单
const blob = dataURItoBlob(imgDataUrl);
const formData = new FormData();
// formData.append('auth', state.token.auth); 可以选择性的加入一些鉴权
formData.append('file', blob);
3、进行数据上传,我这里使用的是axios
const params = {url: '/store/file',payload: formData};const data = await this.upload(params);
我已经对axios进行了封装
export const upload = (params) => {const { url, payload } = paramsreturn axios.post(url, payload, {headers: {'Content-Type': 'multipart/form-data'}}).then(x => x.data)
}
data:image data url 文件上传相关推荐
- php利用ajax文件上传,如何在PHP中利用AjaxForm实现一个文件上传功能
如何在PHP中利用AjaxForm实现一个文件上传功能 发布时间:2020-12-18 14:52:38 来源:亿速云 阅读:94 作者:Leah 如何在PHP中利用AjaxForm实现一个文件上传功 ...
- Flutter dio 文件上传下载
Dio 是Flutter 网络请求的Pub包 Dio除了常用的get post 还可以文件下载 上传等操作 关于文件分片上传 或者文件下载 用到的pub 包 #文件选择file_selector: ^ ...
- 电脑无法上传html文件类型,HTML5 - 限制文件上传(HTML5 - Restrict file upload)
HTML5 - 限制文件上传(HTML5 - Restrict file upload) 上面的代码也允许上传.txt或任何类型的文件. 如何限制 html5中的其他文件类型 ? Above code ...
- 文件上传-自定义上传(修改上传文件名
bug描述:批量发券功能,上传excel文件,同名文件内容不同,最新上传会覆盖旧数据 原因:公共资源接口的返回的url为日期,不带时间戳,同日期上传同名文件会覆盖之前的同名文件(同链接)内容 2.解决 ...
- 后台学习六---ajaxFileupload文件上传下载
这一章讲讲文件的上传下载,这里我们使用ajax的上传文件方法. ps:基于maven的springmvc框架都已经搭建好了的,如有问题,参考 : 后台学习一-spring+maven+mybatis+ ...
- PHP网站设计 ---- 网盘(实现用户注册、登录,文件上传、下载、删除、查看等功能)
PHP网站设计 ---- 网盘(实现用户注册.登录,文件上传.下载.删除.查看等功能) 运行效果 视频演示 项目下载(在xampp/htdocs/下可以直接运行) 完整项目包.zip 功能要求 当用户 ...
- js实现文件上传进度条功能
开发中可能会涉及到需要展示文件上传进度条显示,方便用户知道文件的上传状态.其实进度条展示只需要拿到文件已上传的大小,和被上传文件的总大小即可.废话不多说直接上代码!! class fileUpload ...
- Vue:利用Plupload插件封装文件上传组件
接上回<Plupload插件>,已经尝试将Plupload插件引入到HTML页面中,并进行参数配置,然后联合后端接口进行调试,完成了文件上传的工作.但是在Vue项目的开发中,我们更想将它封 ...
- 文件上传插件 bootstrap-fileinput ,后台使用的C#语言
官方教程:http://plugins.krajee.com/file-input#ajax-uploads 下载官方Demo后,引用样式和js文件,此项目是将所有的文件放在一个文件下 <bod ...
最新文章
- 4.7 mini趴 走进猎豹
- hihoCoder 网络流四·最小路径覆盖
- 征途单机版场景服务器端口被占用,模拟城市5解决端口被占用的方法
- 位操作的应用:判断一个数是不是2的幂数,实现循环移位【位操作】(55)
- RouterOS双线进行IP分流上网
- [渝粤教育] 辽宁对外经贸学院 国际集装箱多式联运 参考 资料
- 新来的大神用策略模式把if else给优化了,技术总监说:能不能想好了再改?...
- python输入list_python学习(list增删改查、及常用方法)
- java开发怎么包装_Java开发知识之Java的包装类
- LwIP协议栈源码说明
- k2路由器刷华硕固件
- es文件搜索不到win7服务器,ES文件浏览器Win7局域网共享错误解决方案
- 吴伯凡-认知方法论-认知是一个长期修炼的过程
- 前端javascript如何分享内容到twitter和Email
- 人机版五子棋两种算法概述
- 视频号该如何涨粉引流,分享10种涨粉技巧+5种引流方法丨国仁网络
- 中科蓝汛 NTC 检测
- centos raid挂载_服务器挂载磁盘阵列
- 图形图像处理-之-任意角度的高质量的快速的图像旋转 上篇 纯软件的任意角度的快速旋转
- Z-Wave 700应用程序框架第七章 - 固件更新和引导加载程序
热门文章
- 工作193:vue.runtime.esm.js?2b0e:619 [Vue warn]: <transition-group> children must be keyed: <ElTag>
- “约见”面试官系列之常见面试题之第九十一篇之简述Vue的生命周期适用于哪些场景(建议收藏)
- 前端学习(2339):React出现的历史背景
- “约见”面试官系列之常见面试题第十三篇之css动画效果(建议收藏)
- 前端学习(1095):ES5新增方法
- 前端学习(955):移动端特效导读
- 前端学习(80):按类型划分标签(inline)
- java学习(14):java命名规范
- H5页面移动端双击屏幕禁止页面放大
- codesys中打开linux端的串口_CODESYS版本3.5 SP14 Patch 3发布