javascript 图片上传缩略图预览
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>图片上传缩略图预览</title>
<script language="JavaScript" type="text/javascript">
var allowExt = ['jpg', 'gif', 'bmp', 'png', 'jpeg'];
var preivew = function (file, container) {
try {
var pic = new Picture(file, container);
}
catch (e) {
alert(e);
}
}
//缩略图类定义
var Picture = function (file, container) {
try {
var height = ,
widht = ,
ext = '',
size = ,
name = '',
path = '';
var self = this;
if (file)
{
name = file.value;
if (window.navigator.userAgent.indexOf("MSIE") >= ) {
var browser = navigator.appName;
var b_version = navigator.appVersion
var version = b_version.split(";");
var trim_Version = version[].replace(/[ ]/g, ""); if (trim_Version == "MSIE6.0") {
file.select();
//path = document.selection.createRange().text;
path = window.URL.createObjectURL(file.files[]);
} else if (trim_Version == "MSIE7.0") {
file.select();
//path = document.selection.createRange().text;
path = window.URL.createObjectURL(file.files[]);
} else if (trim_Version == "MSIE8.0") {
file.select();
//path = document.selection.createRange().text;
path = window.URL.createObjectURL(file.files[]);
} else {
file.select();
//file.blur();
//path = document.selection.createRange().text;
path = window.URL.createObjectURL(file.files[]);
}
}
else if (window.navigator.userAgent.indexOf("Firefox") >= ) {
if (file.files) {
path = file.files.item().getAsDataURL();
} else {
path = file.value;
}
}
}
else {
throw "bad file";
}
ext = name.substr(name.lastIndexOf("."), name.length);
if (container.tagName.toLowerCase() != 'img') {
throw "container is not a valid img label";
container.visibility = 'hidden';
}
container.src = path;
container.alt = name;
container.style.visibility = 'visible';
height = container.height;
widht = container.widht;
size = container.fileSize;
this.get = function (name) {
return self[name];
}
this.isValid = function () {
if (allowExt.indexOf(self.ext) !== -) {
throw 'the ext is not allowed to upload';
return false;
}
}
}
catch (e) {
alert("R:"+e);
} /***
*读取,图片为流文件
***/
/*
var reader = new FileReader();
reader.onload = function(e)
{
console.log(e.target.result);
alert(e.target.result);
var fromData = new FormData();
fromData.append("base64", e.target.result);
}
reader.readAsDataURL(document.querySelector("input[type=file]").files[0]);
*/
}
</script>
</head>
<body>
<div class='previewDemo'>
<input id="file" type="file" onchange="preivew(this, document.getElementById('img'));" />
<br />
<img id="img" style="visibility:hidden" height="100px" width="100px" /> </div>
</body>
</html>
javascript 图片上传缩略图预览的更多相关文章
- html之file标签 --- 图片上传前预览 -- FileReader
记得以前做网站时,曾经需要实现一个图片上传到服务器前,先预览的功能.当时用html的<input type="file"/>标签一直实现不了,最后舍弃了这个标签,使用了 ...
- ASP.NET MVC图片上传前预览
回老家过春节,大半个月,在家的日子里,吃好睡好,人也长了3.5Kg.没有电脑,没有网络,无需写代码,工作上相关的完全放下......开心与父母妻儿过个年,那样的生活令Insus.NET现在还在留恋.. ...
- 图片上传本地预览。兼容IE7+
基于JQUERY扩展,图片上传预览插件 目前兼容浏览器(IE 谷歌 火狐) 不支持safari 预览地址:http://www.jinbanmen.com/test/1.html js代码:/**名称 ...
- DevExpress控件使用系列--ASPxUploadControl(图片上传及预览)
1.控件功能 列表控件展示数据.弹框控件执行编辑操作.Tab控件实现多标签编辑操官方说明 2.官方示例 2.1 ASPxImage http: ...
- uploadPreview 兼容多浏览器图片上传及预览插件使用
uploadPreview兼容多浏览器图片上传及预览插件 http://www.jq22.com/jquery-info2757 Html 代码 <div class="form-gr ...
- js实现图片上传及预览---------------------->>兼容ie6-8 火狐以及谷歌
<head runat="server"> <title>图片上传及预览(兼容ie6/7/8 firefox/chrome)</title> & ...
- file标签 - 图片上传前预览 - FileReader & 网络图片转base64和文件流
记得以前做网站时,曾经需要实现一个图片上传到服务器前,先预览的功能.当时用html的<input type="file"/>标签一直实现不了,最后舍弃了这个标签,使用了 ...
- input file实现多选,限制文件上传类型,图片上传前预览功能
限制上传类型 & 多选:① accept 属性只能与 <input type="file" /> 配合使用.它规定能够通过文件上传进行提交的文件类型. ② mu ...
- 【转】html之file标签 --- 图片上传前预览 -- FileReader
记得以前做网站时,曾经需要实现一个图片上传到服务器前,先预览的功能.当时用html的<input type="file"/>标签一直实现不了,最后舍弃了这个标签,使用了 ...
随机推荐
- OSX: SSH密钥使用日记(2)
准备钥匙和锁(密钥对): $ pwd /Users/test $ ssh-keygen -t dsa -C "$(whoami)@$(hostname),$(date '+%F %T')&q ...
- Centos6.6系统root用户密码恢复案例(转)
原文:http://www.centoscn.com/CentOS/Intermediate/2015/0131/4604.html 通过单用户模式恢复root用户密码 重新启动主机后,在出现Grub ...
- The Web Sessions List
The Web Sessions list contains the list of HTTP Requests that are sent by your computer. You can res ...
- EXCEL 列与列怎么交换?
选中A列数据,按先SHIFT键的同时按住鼠标左键,向右拖动鼠标,在拖动的过程中,会出现一条虚线,当拖动到B列的右边缘时,屏幕上会出现 C:C 的提示,这时送开SHIFT键及鼠标左键,就完成了A B两列 ...
- DOS批处理高级教程
转载-->http://blog.csdn.net/lanbing510/article/details/7461073 前言 本教程主要引用伤脑筋版主的系列文章,同时参考引用[英雄]教程等其他 ...
- idea 修改编辑区字体样式、大小
idea 修改编辑区字体样式.大小 CreateTime--2018年4月26日10:36:59 Author:Marydon 设置-->Editor-->Font-->修改Fo ...
- ActiveMQ基本介绍
1.ActiveMQ服务器工作模型 通过ActiveMQ消息服务交换消息.消息生产者将消息发送至消息服务,消息消费者则从消息服务接收这些消息.这些消息传送操作是使用一组实现 ActiveM ...
- 类的专有方法(__len__)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.imooc.com/code/6252 #类的专有方法(__len__) #如果一个类 ...
- HTTP协议是如何通信的
一.什么是HTTP协议 HTTP协议是HyperText Transfer Protocol的缩写,即超文本传输协议.是由w3c(万维网联盟)制定的一种应用层协议,用来定义浏览器与web服务器之间如何 ...
- C#抽象方法
在覆盖父类的方法时,必须显式说明是在覆盖父类方法,否则相当于没有覆盖. class Animal { public void run() { Console.WriteLine("anima ...