js中图片二进制和base64的互转
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head> <body>
<p>正常图片</p>
<p></p>
<img src="132.jpg" />
<p></p>
<p>base64</p>
<p></p>
<img src="" id="base64" alt="" />
<p></p>
<p></p>
<p>base64转为二进制</p>
<img src="" id="erjinz" alt="" />
</body>
<script src="jquery-2.1.0.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
/**
* 网络图像文件转Base64
*/
function getBase64Image(img) {
var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0, img.width, img.height);
var ext = img.src.substring(img.src.lastIndexOf(".") + 1).toLowerCase();
var dataURL = canvas.toDataURL("image/" + ext);
return dataURL;
} /**
*Base64字符串转二进制
*/
function dataURLtoBlob(dataurl) {
var arr = dataurl.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n);
while(n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], {
type: mime
});
} //**blob to dataURL**
function blobToDataURL(blob, callback) {
var a = new FileReader();
a.onload = function(e) {
callback(e.target.result);
}
a.readAsDataURL(blob);
return a;
}
var result;
var img = "132.jpg";
var image = new Image();
image.src = img;
image.onload = function() {
//这样就获取到了文件的Base64字符串
var base64 = getBase64Image(image);
$("#base64").attr("src", base64); //Base64字符串转二进制
var file = dataURLtoBlob(base64); //二进制转base64
result = blobToDataURL(file, function(dataurl) {
console.log(dataurl);
}); setTimeout(function() {
$("#erjinz").attr("src", result.result);
}, 100);
}
</script>
</html>
js中图片二进制和base64的互转的更多相关文章
- JS中图片的放大缩小没反应
这段代码无反应: 代码如下: <script type="text/javascript"> onload = function () { document.getEl ...
- js实现图片的Blob base64 ArrayBuffer 的各种转换
一.相关基础知识 构造函数 FileReader() 返回一个新构造的FileReader 事件处理 FileReader.onabort 处理abort事件.该事件在读取操作被中断时触发. Fil ...
- JS将图片转换成Base64码
直接上代码 html页面代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- JS中图片飞飞效果
当鼠标在界面上移动的时候,后面有一连串的图片跟随者一起飘动,效果如下: 实现的基本思想:准备五个img标签,为了方便控制都放在一个div里面,设置div的定位方式为 fixed,设置成这中定位方式主要 ...
- java实现图片文件与Base64的互转
通过form表单上传图片时,有时候web容器对文件大小的限制会影响我们上传.这时,前端页面可以考虑将图片转换成base64串来实现上传. 图片与Base64的互转,其实就是利用了文件流与Base64的 ...
- ASP图片格式与base64数据互转方法
ASP图片格式与base64数据相互转换的方法,经常用于处理表单中存储有base64字符串格式的图片. 获取到base64数据,转换成图片 <% Subfolder=year(now)& ...
- js绝对地址图片转换成base64的方法
//将图片转换成base64 function getBase64Image(url, callback){ var canvas = document.createElement('canvas') ...
- 认识Js中的二进制数据
Blob 在项目中涉及到要对html原生的audio组件进行样式复写,因此需要重新实现audio的一些功能,比如下载.实现一个下载大致的思路是服务端返回一段音频的二进制数据,客户端将其存放在Blob中 ...
- js中图片获取src的正则
链接: JavaScript 正则表达式:http://www.runoob.com/js/js-regexp.html js正则匹配出所有图片及图片地址src的方法:http://www.jb51. ...
- js中字符串的加密base64
base64编码主要用在传输,存储表示二进制的领域,还可以进行加密和解密.其实就是字符串的编码和解码 btoa与atob 只能加密ascii,不能加密汉字. var str = 'I LOVE YOU ...
随机推荐
- require.context 自动引入指定目录下的文件、组件、reducer
1. 语法:let webpacks = require.context (directory,useSubdirectories,regExp) (directory:"文件路径&qu ...
- 来了!来了!国内使用chatGPT的方式总结
大家好,最近ChatGPT大火呀. 最近几天OpenAI发布的ChatGPT聊天机器人火出天际了,连着上了各个平台的热搜榜. 这个聊天机器人最大的特点是不仅可以模仿人类说话风格同时回答大量问题,能和你 ...
- 通过Rsync实现文件远程备份
转载:博客园 https://www.cnblogs.com/huligong1234/p/13513395.html
- Os-hackNos
Os-hackNos 目录 Os-hackNos 1 环境配置 1.1 靶场环境 1.2 靶机未获取到IP时配置 2 信息收集 2.1 端口扫描 2.2 目录扫描 3 对Drupal 7.57版本安全 ...
- .net 中的几种事务
在一个MIS系统中,没有用事务那就绝对是有问题的,要么就只有一种情况:你的系统实在是太小了,业务业务逻辑有只要一步执行就可以完成了.因此掌握事务处理的方法是很重要,进我的归类在.net中大致有以下4种 ...
- 解决veture和eslint冲突的问题
vscoder自带的veture和eslint存在冲突,主要表现在 末尾逗号,分号,单双引号的不一致.解决办法:1.npm install --save-dev prettier2.在根目录新建.pr ...
- 内容分发网络 CDN
介绍 CDN 内容分发网络(英语:Content Delivery Network 或 Content Distribution Network,缩写:CDN)是建立并覆盖在承载网上,由不同区域的服务 ...
- 如何调用别人的接口(包含get请求post请求)
对于如何调用第三方接口还是有些模糊,所以记录一下,上代码 package com.zhang.miaodou; import java.io.BufferedReader; import java.i ...
- EMQ X 系统调优和性能压测
前言 如果使用 EMQ 来承载百万级别的用户连接可以吗?毕竟在 MQTT 官方介绍上说 EMQ X 可以处理千万并发客户端,而 EMQ X 自己官方称 4.x 版本 MQTT 连接压力测试一台 8 核 ...
- (2) 使用phpstudy 实现局域网内远程访问本地ThreeJS示例
1 下载phpStudy 作为本地开发服务器 hpStudy下载后解压安装.安装完成后启动服务.如下: 2 打开phpStudy的安装目录,进入到安装目录的 PHPTutorial \ WWW ...