jquery实现本地图片上传预览和限流处理
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>HTML5 Upload</title> <script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script type="text/javascript">
//前台处理获取到的图片并预览,前台限制图片的高度和宽度及其图片大小
var src;
// //处理file input加载的图片文件
$(document).ready(function (e) {
//获取input图片宽高和大小
function getImageWidthAndHeight(id, callback) {
var _URL = window.URL || window.webkitURL;
$("#" + "imgUpload").change(function (e) {
var file, img;
if ((file = this.files[0])) {
img = new Image();
img.onload = function () {
callback && callback({"width": this.width, "height": this.height, "filesize": file.size});
};
img.src = _URL.createObjectURL(file);
}
});
} getImageWidthAndHeight('imgUpload', function (obj) {
// //文件上传后本质上就是上传的一个文件对象的列表,获取上传的列表中的第一个
var f = document.getElementById('imgUpload').files[0];
//通过下面的方法将文件读成流的形式
src = window.URL.createObjectURL(f);
//生成图片的预览
//判断图片的高度、宽度、大小
var height = obj.height;
var width = obj.width;
var size = obj.size;
var imageVaildInfo = vaildImage(height,width,size);
//如果不正确,进行将之前的清楚
if("success" !=imageVaildInfo ){
alert(imageVaildInfo);
$("#imgUpload").val("");
return;
}
document.getElementById('imageView').style.height=height+"px";
document.getElementById('imageView').style.width=width+"px";
document.getElementById('imageView').src = src;
}); //图片的大小等信息的验证
function vaildImage(height,width,size){
var imageVaildInfo;
if(height > 500){
imageVaildInfo = "你上传的图片已超出限定的图片高度,请重新上传!";
}else if(width > 500){
imageVaildInfo = "你上传的图片已超出限定的图片宽度,请重新上传!";
}else{
imageVaildInfo = "success";
}
return imageVaildInfo;
} }) </script>
</head> <body>
<input type="file" id="imgUpload" name="imgUpload" draggable="true" single/> <!--允许file控件接受的文件类型-->
<!--<input type="file" id="imgUpload" name="imgUpload" accept="image/*" multiple/>-->
<img id="imageView" src="" style="width:500px;height:500px;border:1px solid #000000;"/>
</body>
</html>
jquery实现本地图片上传预览和限流处理的更多相关文章
- JavaScript实现本地图片上传预览功能(兼容IE、chrome、FF)
需要解决的问题有:本地图片如何在上传前预览.编辑:最近发现这个功能很多是基于flash实现的,很多JavaScript实现的代码兼容性都很差,特别是在IE和firefox和chrome三个浏览器上不兼 ...
- HTML+Jquery实现多图片上传预览功能
HTML:使用input的onchange事件,它一改变就触发事件 <p id="p3"> <input name="File" onchan ...
- 使用ajax,结合jquery,php实现图片上传预览功能
大致逻辑:点击页面的file,上传图片到指定的php处理图片的文件,处理完成以后,将图片的连接地址返回,JS控制返回的数据,然后将图片动态的展示出来html代码<label> <im ...
- Jquery图片上传预览效果
uploadPreview.js jQuery.fn.extend({ uploadPreview: function (opts) { var _self = this, _this = $(thi ...
- 模拟QQ心情图片上传预览
出于安全性能的考虑,目前js端不支持获取本地图片进行预览,正好在做一款类似于QQ心情的发布框,找了不少jquery插件,没几个能满足需求,因此自己使用SWFuplad来实现这个图片上传预览. 先粘上以 ...
- 兼容好的JS图片上传预览代码
转 : http://www.codefans.net/articles/1395.shtml 兼容好的JS图片上传预览代码 (谷歌,IE11) <html xmlns="http:/ ...
- HTML5 图片上传预览
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8& ...
- ASP.NET工作笔记之一:图片上传预览及无刷新上传
转自:http://www.cnblogs.com/sibiyellow/archive/2012/04/27/jqueryformjs.html 最近项目里面涉及到无刷新上传图片的功能,其实也就是上 ...
- js实现图片上传预览及进度条
原文js实现图片上传预览及进度条 最近在做图片上传的时候,由于产品设计的比较fashion,上网找了比较久还没有现成的,因此自己做了一个,实现的功能如下: 1:去除浏览器<input type= ...
随机推荐
- 利用 Charles Proxy 下载旧版本 iOS App
一.软件准备 1.旧版本 iTunes1.IPSW Downloads:https://ipsw.me/2.百度网盘链接: https://pan.baidu.com/s/1PO9Z12o-rqZ_J ...
- Dockerfile详解及优化
Dockerfile详解 0. Dockerfile的作用 docker可以根据Dockerfile中的指令来构建docker镜像.Dockerfile是一个文本文件,其应当包含用户想要构建一个镜像的 ...
- 理解 OAuth2.0
文章转载于阮一峰老师的博客:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 参考文章:https://learnku.com/article ...
- python __getattra__()
官网解释: object.__getattr__(self, name) Called when an attribute lookup has not found the attribute in ...
- [python]html格式转md格式
html格式转md格式 # 模块html2text pip install html2text/pip3 install html2text 测试: import html2text as ht te ...
- 第一次java程序设计作业
通过JAVA语言的学习,使我对计算机语言有了更加深入的认识和理解.知道了许多JAVA语言与其他语言的区别和特性,及其在我们生活中所发挥的重要作用.最后用一句话表明在学习JAVA语言过程中的感受,那就是 ...
- vue版 弹幕
效果: 下载 优化版下载: https://pan.baidu.com/s/1mvKGwJsBjXd2hvvi5Rp9pA 用法: import barrage from '../components ...
- 【JAVA】servlet执行流程
servlet执行流程 客户端发出http请求,web服务器将请求转发到servlet容器,servlet容器解析url并根据web.xml找到相对应的servlet,并将request.respon ...
- shell脚本 快照还原Hbase数据库
#!/bin/bash for i in $(cat ./hbaseTable);do echo "disable '$i'" | hbase shellecho "re ...
- The innodb_system data file 'ibdata1' must be writable
在安装MySQL的时候报的错,我理解的这个错是因为有个文件是Innodb需要在安装MySQL(或者创建数据库的时候)的时候需要写入这个文件,但是他现在没有写的权限. 日志中的错误是: 5.7版本以前是 ...