jquery实现兼容浏览器的图片上传本地预览功能_jquery
由于上传图片功能,现在大多数都需要在本地实现预览,为了能够更好的让用户体验到效果,实现成品的证明,需要兼容好几种浏览器,所有通过各个例子整合了这个例子插件,兼容火狐、谷歌、ie8,其他的没有进行测试过
(function($){
jQuery.fn.extend({
uploadPreview: function(opts){
opts = jQuery.extend({
width: 0,
height: 0,
imgPreview: null,
imgType: ["gif", "jpeg", "jpg", "bmp", "png"],
callback: function(){ return false; }
}, opts || {});
var _self = this;
var _this = $(this);
var imgPreview = $(opts.imgPreview);
//设置样式
autoScaling = function(){
imgPreview.css({"margin-left": 0,"margin-top": 0,"width":opts.width,"height":opts.height});
imgPreview.show();
}
//file按钮出发事件
_this.change(function(){
if (this.value) {
if (!RegExp(".(" opts.imgType.join("|") ")$", "i").test(this.value.toLowerCase())) {
alert("图片类型必须是" opts.imgType.join(",") "中的一种");
this.value = "";
return false;
}
if ($.browser.msie) {//判断ie
var path = $(this).val();
if (/"wW"/.test(path)) {
path = path.slice(1,-1);
}
imgPreview.attr("src",path);
imgPreview.css({"margin-left": 0,"margin-top": 0,"width":opts.width,"height":opts.height});
setTimeout("autoScaling()", 100);
}
else {
if ($.browser.version < 7) {
imgPreview.attr('src', this.files.item(0).getAsDataURL());
}
else {
oFReader = new FileReader(), rFilter = /^(?:image/bmp|image/cis-cod|image/gif|image/ief|image/jpeg|image/jpeg|image/jpeg|image/pipeg|image/png|image/svg xml|image/tiff|image/x-cmu-raster|image/x-cmx|image/x-icon|image/x-portable-anymap|image/x-portable-bitmap|image/x-portable-graymap|image/x-portable-pixmap|image/x-rgb|image/x-xbitmap|image/x-xpixmap|image/x-xwindowdump)$/i;
oFReader.onload = function(oFREvent){
imgPreview.attr('src', oFREvent.target.result);
};
var oFile = this.files[0];
oFReader.readAsDataURL(oFile);
}
imgPreview.css({"margin-left": 0,"margin-top": 0,"width":opts.width,"height":opts.height});
setTimeout("autoScaling()", 100);
}
}
opts.callback();
});
}
});
})(jQuery);
二、调用方法
jQuery(function(){
jQuery("#idFile1").uploadPreview({
width: 100,
height: 100,
imgPreview: "#idImg1",
imgType: ["bmp", "gif", "png", "jpg"],
callback: function() {
ip1();
return false;
}
});
);

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

微信小程序实现图片上传功能随着移动互联网的发展,微信小程序已经成为了人们生活中不可或缺的一部分。微信小程序不仅提供了丰富的应用场景,还支持开发者自定义功能,其中包括图片上传功能。本文将介绍如何在微信小程序中实现图片上传功能,并提供具体的代码示例。一、前期准备工作在开始编写代码之前,我们需要先下载并安装微信开发者工具,并注册成为微信开发者。同时,还需要了解微信

使用CakePHP框架实现图片上传和显示的步骤引言:在现代Web应用程序中,图片上传和显示是常见的功能需求。CakePHP框架为开发者提供了强大的功能和便捷的工具,使得实现图片上传和显示变得简单高效。本文将向您介绍如何使用CakePHP框架来实现图片上传和显示。步骤1:创建文件上传表单首先,我们需要在视图文件中创建一个表单,用于用户上传图片。以下是一个示例的

Vue技术开发中如何处理图片上传和压缩在现代web应用中,图片上传是一个非常常见的需求。然而,由于网络传输和存储等方面的原因,直接上传原始的高分辨率图片可能会导致上传速度慢和存储空间的大量浪费。因此,对于图片的上传和压缩是非常重要的。在Vue技术开发中,我们可以使用一些现成的解决方案来处理图片上传和压缩。下面将介绍如何使用vue-upload-compone

如何使用PHP和Vue实现图片上传功能在现代网页开发中,图片上传功能是非常常见的需求。本文将详细介绍如何使用PHP和Vue来实现图片上传功能,并提供具体的代码示例。一、前端部分(Vue)首先需要在前端创建一个用于上传图片的表单。具体代码如下:<template><div><inputtype="fil

随着互联网的发展,图片上传已经成为了网站和应用程序开发中的一个必不可少的功能。而在PHP领域,ThinkPHP6已经成为了一款非常流行的开发框架。在本文中,我们将介绍如何使用ThinkPHP6实现图片上传。一、创建项目和控制器首先,我们需要创建一个新的ThinkPHP6项目。可以使用Composer进行安装,也可以在官网下载最新版。安装完成后,在控制台中进入

Vue技术开发中如何实现图片上传和裁剪,需要具体代码示例在现代Web开发中,图片上传和图片裁剪是常见的需求之一。Vue.js作为一个流行的前端框架,提供了丰富的工具和插件来帮助我们实现这些功能。本文将介绍如何在Vue技术开发中实现图片上传和裁剪,并提供具体的代码示例。图片上传的实现可以分为两个步骤:选择图片和上传图片。在Vue中,可以使用第三方插件来简化这个

如何使用PHP实现一个简单的在线图片上传和展示系统图片上传和展示系统是现代网站常用的功能之一,在开发过程中使用PHP可以快速实现这个功能。本篇文章将介绍如何使用PHP编写一个简单的在线图片上传和展示系统,并提供具体的代码示例。一、创建数据库和表格首先,我们需要创建一个数据库和表格来存储上传的图片信息。使用以下SQL语句创建一个名为"images"的表格,并设

标题:Vue开发中图片上传和裁剪问题及解决方法引言:在Vue开发中,图片上传和裁剪是常见的需求。本文将介绍在Vue开发中遇到的图片上传和裁剪问题,并给出解决方法和具体的代码示例。一、图片上传问题:选择图片上传按钮无法触发文件选择框:这个问题通常是因为没有正确绑定事件或者绑定的事件不生效。可以通过在模板中绑定点击事件,并在对应的方法中触发文件选择框。代码示例:
