通过createObjectURL实现图片预览
实现原理:通过createObjectURL 创建一个临时指向某地址的二进制对象。
过程:点击触发隐藏的 input file 的点击事件,使用createObjectURL读取 file,创建一个Jquery 图片对象,url等于二进制对象。
前端代码:
js:
$(function () {
$('[type=file]').change(function (e) {
var file = e.target.files[0]
preview(file, this);
})
});
//添加图片触发隐藏的 file input
function upLoadImage(obj) {
return $(obj).next().click();
}
//预览文件图片
function preview(file, obj) {
//浏览器缓存一张图片
var img = new Image(), url = img.src = URL.createObjectURL(file);
var $img = $(img);
img.onload = function () {
URL.revokeObjectURL(url)
var $parentBox = $(obj).parent().find(".imgBox");
alert(0);
$parentBox.html("");
$parentBox.css("width", "64");
$parentBox.css("height", "64");
$parentBox.append($img)
//$('#preview').empty().append($img)
}
}
//删除
function deleteimg(obj) {
var objectBox = $(obj).parent().find(".imgBox");
var file = $(obj).parent().find(".fileData");
$(file).val('');
objectBox.html("<img src='../../images/upload.png'>");
}
html:
<td>
<div class="upload-img" style="float: left; margin-right: 25px">
<a href="javascript:void(0);" onclick="upLoadImage(this)" class="upload-hotel-a">
<div class="imgBox">
<img src="../../images/upload.png">
</div>
</a>
<input type="file" style="display: none" />
<br />
<a onclick="deleteimg(this)" class="button icon trash DeleteTd">删除</a>
<input type="hidden" value="">
</div>
</td>
通过createObjectURL实现图片预览的更多相关文章
- 微信开发中使用微信JSSDK和使用URL.createObjectURL上传预览图片的不同处理对比
在做微信公众号或者企业微信开发业务应用的时候,我们常常会涉及到图片预览.上传等的处理,往往业务需求不止一张图片,因此相对来说,需要考虑的全面一些,用户还需要对图片进行预览和相应的处理,在开始的时候我使 ...
- JS魔法堂之实战:纯前端的图片预览
一.前言 图片上传是一个普通不过的功能,而图片预览就是就是上传功能中必不可少的子功能了.在这之前,我曾经通过订阅input[type=file]元素的onchange事件,一旦更改路径则将图片上传至服 ...
- html5 图片上传,支持图片预览、压缩、及进度显示,兼容IE6+及标准浏览器
以前写过上传组件,见 打造 html5 文件上传组件,实现进度显示及拖拽上传,兼容IE6+及其它标准浏览器,对付一般的上传没有问题,不过如果是上传图片,且需要预览的话,就力有不逮了,趁着闲暇时间,给上 ...
- js 图片预览
图片预览 $('#pac_recipe').change(function() { var imgsrc = ''; ]) { //chrome firefox imgsrc = window.URL ...
- 兼容ie[6-9]、火狐、Chrome、opera、maxthon3、360浏览器的js本地图片预览
html代码: <div id="divPreview"> <img id="imgHeadPhoto" src="Images/H ...
- js本地图片预览代码兼容所有浏览器
html代码 <div id="divPreview" style="width: 160px; height: 170px"><img id ...
- javascript 实现图片预览(未上传到服务器端)
1,图片预览 越来越多的浏览器为了安全,都不能获得文件的,全路径,实现图片预览实现起来有点麻烦.有人选择复制图片到服务器的某个路径下,然后从服务器端找到路径,实现预览.但这不是最佳实现方案,如果用户一 ...
- js图片预览插件,不涉及上传
小小的几十行代码,很牛逼,很实用. 支持多个图片的预览,只要new多个对象就行了. html如下 <!-- zhouxiang www.zhou-xiang.com --> <!DO ...
- 通过file文件选择图片预览功能
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- 38. leetcode 405. Convert a Number to Hexadecimal
405. Convert a Number to Hexadecimal Given an integer, write an algorithm to convert it to hexadecim ...
- 34. leetcode 447. Number of Boomerangs
Given n points in the plane that are all pairwise distinct, a "boomerang" is a tuple of po ...
- ASP.NET 导出excel文件出现乱码的解决办法
string html =TABLE ;//<table>标签,可以是多张表string modified = Regex.Replace(html, "<table &g ...
- vue基础一
一.vue的编写步骤 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- 照着官方文档学习react
笨人学习法 10000个小时策略来学习,因为笨.先照着官方文档敲一遍,写一遍. 准备 先要准备环境.搭建一个基于webpack的react环境:Hello ReactJS. demo: https:/ ...
- nopcommerce数据库字典
http://www.xcode.me/open/document/nopcommercedatadict.html
- hadoop生态圈列式存储系统--kudu
介绍 Kudu 是一个针对 Apache Hadoop 平台而开发的列式存储管理器.Kudu 共享 Hadoop 生态系统应用的常见技术特性: 它在 commodity hardware(商品硬件)上 ...
- 【SSH】---【Struts2、Hibernate5、Spring4】【SSH框架整合笔记 】
一.为什么要使用接口? 三层体系架构上层调用下层的时候最好使用接口,比如action层调用service的时候,private IUserDAO userDAO;这里将属性定义为接口,调用DAO的时候 ...
- MT过安全狗增加用户
记一次入侵时发现可以增加用户,但是由于狗的存在,无法赋予管理员权限 此时就进行类似使用注册表的复制超级管理员的操作 使用MT的克隆功能, net user test test /add mt -clo ...
- 你有没有忽略TextField的leftView这个属性
你如果想实现类似有的App注册登陆界面的特殊的TextField的左边有个小图片的效果,可以试试下边的几行代码 UIImageView *imageViewUser = [[UIImageView a ...