通过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/ ...
随机推荐
- POJ 2393 Yogurt factory 贪心
Description The cows have purchased a yogurt factory that makes world-famous Yucky Yogurt. Over the ...
- ASP.NET Core MVC – 自定义 Tag Helpers
ASP.NET Core Tag Helpers系列目录,共四篇: ASP.NET Core MVC Tag Helpers 介绍 ASP.NET Core MVC – Caching Tag Hel ...
- js验证15位或18位身份证
本篇文章是本人在网上搜集了一些验证,然后又个人进行一定修改的关于身份证的验证,欢迎修改指正..... function IdCardValidateRule(idCard) { var tip; ...
- java解析xml汇总(转自倾城幻影-Java解析xml汇总,链接:http://www.cnblogs.com/jiugehuanying/archive/2012/01/12/2320058.html)
[引言] 目前在Java中用于解析XML的技术很多,主流的有DOM.SAX.JDOM.DOM4j,下文主要介绍这4种解析XML文档技术的使用.优缺点及性能测试. [一.基础知识--扫盲] sax.do ...
- Hotkeys.js 2.0.2 发布,捕获键盘输入和输入的组合键快捷键,它没有依赖
这是一个强健的 Javascript 库用于捕获键盘输入和输入的组合键,它没有依赖,压缩只有只有(~3kb),gzip:1.9k. 更新内容: 添加测试用例: 添加更多特殊键支持: 修复bug. __ ...
- ubuntu创建wifi热点(android可识别)亲测可用
转自http://jingyan.baidu.com/article/ea24bc39b03fc6da62b331f0.html 如何在ubuntu系统下创建android可识别热点?一般环境下创建的 ...
- 《Java从入门到放弃》入门篇:hibernate中的多表对应关系
hibernate中的对应关系其实就是数据库中表的对应关系, 就跟某些电影中的某些场景是一样一样滴. 比如可以是一男一女,还可以是一男多女, 更可以是多男一女,最后最后最后还可以是多男多女!!! 有些 ...
- 安装 CentOS 时, BIOS 设置界面,找不到虚拟镜像
安装 CentOS 时, 遇到 BIOS 设置界面,找不到虚拟镜像 1. 启动电脑或重启电脑,当电脑还没有进入window图标界面,按F2或DEL 2. 左下角有一个 Advanced Mode(F ...
- 第1天:CSS基本样式
今天学习了CSS基本样式和属性.在做练习的时候遇到一个小问题,最后解决了. 记住:浏览器有默认margin和padding.样式最开始记得一定写:*{margin:0;padding:0}. 学习经验 ...
- 解决打包时出现的Failed to verify bitcode
今天给一个老项目打包在导出包的时候报错,可能是因为xcode升级造成的 Failed to verify bitcode in Fuzi.framework/Fuzi: error: Bundle o ...