博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
URL to Blob
阅读量:4881 次
发布时间:2019-06-11

本文共 1836 字,大约阅读时间需要 6 分钟。

1 public urlToBlob(url) { 2         const self = this; 3         const image = new Image(); 4         image.crossOrigin = ''; 5         image.src = url; 6         image.onload = function () { 7             // 图片的绝对路径地址 转换成base64编码 如下代码: 8             const canvas = document.createElement('canvas'); 9             canvas.width = image.width;10             canvas.height = image.height;11             const ctx = canvas.getContext('2d');12             ctx.drawImage(image, 0, 0, image.width, image.height);13             // canvas.toBlob((res) => {
14 // console.log(res);15 // self.communityFormData.delete('image');16 // self.communityFormData.append('image', res);17 // console.log(self.communityFormData.get('image'));18 // });19 const ext = image.src.substring(image.src.lastIndexOf('.') + 1).toLowerCase();20 const dataURL = canvas.toDataURL('image/' + ext);21 const type = 'image/' + ext;22 console.log(dataURL);23 const bytes = window.atob(dataURL.split(',')[1]); // 去掉url的头,并转换为byte24 console.log(bytes);25 // 处理异常,将ascii码小于0的转换为大于026 const ab = new ArrayBuffer(bytes.length);27 console.log(ab);28 const ia = new Uint8Array(ab);29 console.log(ia);30 for (let i = 0; i < bytes.length; i++) {31 ia[i] = bytes.charCodeAt(i);32 }33 console.log(ia);34 const tempBlob = new Blob([ia], { type: type });35 self.communityFormData.delete('image');36 self.communityFormData.append('image', tempBlob);37 console.log(tempBlob);38 };39 }

将服务端传过来的图片绝对地址转成 Blob 类型返回给 服务端

转载于:https://www.cnblogs.com/luomi/p/9661811.html

你可能感兴趣的文章
解析SQL Server之任务调度
查看>>
参考资料地址
查看>>
08.路由规则中定义参数
查看>>
Pandas截取列部分字符,并据此修改另一列的数据
查看>>
java.lang.IllegalArgumentException
查看>>
【Spark】编程实战之模拟SparkRPC原理实现自定义RPC
查看>>
接口实现观察者模式
查看>>
四则运算完结篇
查看>>
Objective-C中的类目,延展,协议
查看>>
Python标准模块--Iterators和Generators
查看>>
Introduction Sockets to Programming in C using TCP/IP
查看>>
PHP 简单实现webSocket
查看>>
zookeeper部署搭建
查看>>
navigationController pop回之前控制器
查看>>
汇编语言实验一
查看>>
Web.config配置文件详解(新手必看)
查看>>
selenide总结
查看>>
selenium--控制浏览器和简单元素操作
查看>>
android spannableString 替换 textview 中部分文字
查看>>
java 引用
查看>>