本地图片预览+blob使用
来源:互联网 发布:ajax json java前端 编辑:程序博客网 时间:2024/05/21 17:51
说明:做要用到file标签和 html5 Blob对象
方法1:使用file标签
<label>请选择一个文件:</label> <input type="file" id="file" /> <input type="button" value="读取图像" onclick = "readAsDataURL()"/>
// 将文件以Data URL形式进行读入页面 function readAsDataURL(){ // 检查是否为图像类型 var simpleFile = document.getElementById("file").files[0]; if(!/image\/\w+/.test(simpleFile.type)) { alert("请确保文件类型为图像类型"); return false; } var reader = new FileReader(); // 将文件以Data URL形式进行读入页面 reader.readAsDataURL(simpleFile); reader.onload = function(e){ console.log(this.result); result.innerHTML = '<img src="'+this.result+'" alt=""/>'; } }
方法2 :使用Blob对象,把一张图片arrayBuffer缓存保存到Blob对象,然后给对象一个url. 图片arrayBuffer可通过websocket获取。
<img id="img" /> <input type="file" id = "file"> <input id="but" value="aa" type="button" onclick="mes()">
<script type="text/javascript">function mes(){var imgs = document.getElementById("file");var img = document.getElementById("img"); var reader = new FileReader(); reader.readAsArrayBuffer(imgs.files[0]); reader.onload=function(e){ //console.log(JSON.stringify(this.result) ); var bf = this.result; var blob = new Blob([bf],{type:"text/plain"}); console.log(blob); var str = URL.createObjectURL(blob); img.src = str; }; // var reader3 = new FileReader(); // reader3.readAsBinaryString(imgs.files[0]); //reader3.onload=function(e){ //console.log(JSON.stringify(this.result) ); //console.log(this.result ); //};//console.log(JSON.stringify(imgs.files[0])+" "+imgs.files[0]);//var str = URL.createObjectURL(imgs.files[0]);//console.log("imgs:"+JSON.stringify(str));// img.src = str;}</script>
附加内容:针对ArrayBuffer内容进行操作显示
<script type="text/javascript">function mes(){var imgs = document.getElementById("file");var img = document.getElementById("img"); var reader = new FileReader(); reader.readAsArrayBuffer(imgs.files[0]); reader.onload=function(e){ //console.log(JSON.stringify(this.result) ); var bf = this.result; var bytes = new Uint8Array(bf);//把arrayBuffer转换为byte处理 console.log("bytes:"+JSON.stringify(bytes)); for(var i = 6400 ; i < 7600; i ++){//随意修改数据 bytes[i]=0xff; } console.log("========================"); console.log("========================"); console.log("========================"); console.log("========================"); //console.log("bytes:"+JSON.stringify(bytes)); var blob = new Blob([bytes],{type:"text/plain"}); console.log(blob); var str = URL.createObjectURL(blob); img.src = str; }; // var reader3 = new FileReader(); // reader3.readAsBinaryString(imgs.files[0]); //reader3.onload=function(e){ //console.log(JSON.stringify(this.result) ); //console.log(this.result ); //};//console.log(JSON.stringify(imgs.files[0])+" "+imgs.files[0]);//var str = URL.createObjectURL(imgs.files[0]);//console.log("imgs:"+JSON.stringify(str));// img.src = str;}</script>
阅读全文
0 0
- 本地图片预览+blob使用
- 使用对象URL实现本地预览图片
- 图片上传,本地预览
- JavaScript本地图片预览
- 本地图片预览功能
- 本地图片预览
- js预览本地图片
- js本地图片预览
- 上传图片本地预览
- 上传图片本地预览
- js本地图片预览
- html5 本地图片预览
- 上传图片本地预览
- FileReader本地预览图片
- JS本地预览图片
- JS 本地图片预览
- 上传图片本地预览
- 图片上传本地预览
- [unfinished]论文阅读《CondenseNet: An Efficient DenseNet using Learned Group Convolutions 》
- 程序设计——校园导游系统
- 10037---MySQL修改root密码的各种方法整理
- jquery表单选择器
- 个人中心主页
- 本地图片预览+blob使用
- RxJava简单使用
- Qt实现Socket断线重连机制
- 关于架构
- jquery层级选择器
- 深度学习: Faster R-CNN 网络
- MyEclipse2014配置Maven
- web.xml配置详解
- 滴滴云安装nginx时候报错nginx c compiler cc is not found