ie8测试始终不支持,非ie方法一、二都正常

 <!DOCTYPE html>
<html lang="zh"> <head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<style type="text/css">
img {
width: 200px;
height: 100px;
}
.m-top{
margin-top: 10px;
}
</style>
<script type="text/javascript">
function PreviewImage(file) {
var filextension = file.value.substring(file.value.lastIndexOf("."), file.value.length);
filextension = filextension.toLowerCase();
if((filextension != '.jpg') && (filextension != '.gif') && (filextension != '.jpeg') && (filextension != '.png') && (filextension != '.bmp')) {
alert("对不起,系统仅支持标准格式的照片,请您调整格式后重新上传,谢谢 !");
file.focus();
} else {
var url;
if (file.files && file.files[0]){
/*
// 方法一:FileReader API实现本地图片预览
var file = file.files[0];
//创建一个FileReader对象
var reader = new FileReader();
//读取file文件;
reader.readAsDataURL(file);
//当文件读取成功后,将结果保存到url变量里;
reader.onload = function(evt) {
url = evt.target.result;
document.getElementById('img').src = url;
}
*/
//url = file.files[0].getAsDataURL();// FF 3.0
//document.getElementById("img").src = url; // 方法二:HTML5 URL API
url=window.URL.createObjectURL(file.files[0]);// FF 7.0以上
document.getElementById("imgPreview").innerHTML = "<img id='img' src='"+url+"'/>"; } else {
// 兼容IE9及以下
//获取上传文件控件的值;
file.select();
url = document.selection.createRange().text;
document.getElementById("imgPreview").innerHTML="";
document.getElementById("imgPreview").style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='scale',src=\"" + url + "\")";//使用滤镜效果
}
}
}
</script>
</head> <body>
<input id="fileItem" type="file" onchange='PreviewImage(this)' />
<div id="imgPreview" class="m-top" style='width:200px; height:100px;'>
<img src="" id="img" alt="pic" />
</div>
</body> </html>

图片上传 纯js编码的更多相关文章

  1. js 图片压缩上传(纯js的质量压缩,非长宽压缩)

    下面是大神整理的demo,很实用,这里存一下备用,感谢大神! 此demo为大于1M对图片进行压缩上传 若小于1M则原图上传,可以根据自己实际需求更改. demo源码如下 <!DOCTYPE ht ...

  2. 前端图片压缩上传(纯js的质量压缩,非长宽压缩)

    此demo为大于1M对图片进行压缩上传 若小于1M则原图上传,可以根据自己实际需求更改. demo源码如下: <!DOCTYPE html> <html> <head&g ...

  3. js 利用iframe和location.hash跨域解决的方法,java图片上传回调JS函数跨域

    奶奶的:折腾了我二天,最终攻克了!网上有非常多样例. 但跟我的都不太一样,费话不多说了,上图   上代码: IE ,firefix,chrome 測试通过 js :这个主页面,部分代码, functi ...

  4. 前台图片上传展示JS(单张图片展示)

    <script type="text/javascript">    //下面用于多图片上传预览功能    function setImagePreviews(aval ...

  5. 阿里云OSS图片上传plupload.js结合jq-weui 图片上传的插件

    项目中用到了oss上传,用的plupload,奈何样式上不敢恭维,特别是放在移动端上使用.于是自己把它移植到了jq weui的上传图片组件上. 更改:选择照片后确认即及时上传至oss服务器,不限制上传 ...

  6. 玩转图片上传————原生js XMLHttpRequest 结合FormData对象实现的图片上传

    var form=document.getElementById("formId"); var formData=new FormData(form); var oReq = ne ...

  7. html + js 实现图片上传,压缩,预览及图片压缩后得到Blob对象继续上传问题

    先上效果 上传图片后(设置了最多上传3张图片,三张后上传按钮消失) 点击图片放大,可以使用删除和旋转按钮 (旋转功能主要是因为ios手机拍照后上传会有写图片被自动旋转,通过旋转功能可以调正) html ...

  8. bootstrap-fileinput多图片上传

    在页面写一个input框: <input id="subGraphAddress1" name="subGraphAddress" type=" ...

  9. 用Ajax图片上传、预览、修改图片

    首选图片的上传和下载并不是很难,但要注意细节. 一,给出前端图片上传的html代码 1.图片上传的控件 <img src="/${res}/images/default.png&quo ...

随机推荐

  1. 在Indicator中添加动态Checkbox,无需绑定数据源,支持全选 - Ehlib学习(二)

    先做设置 DBGrideh属性设置: IndicatorOptions = [gioShowRowIndicatorEh, //小三角指示 gioShowRecNoEh, //数据源行号 gioSho ...

  2. 爬虫框架:scrapy

    一 介绍 Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速.简单.可扩展的方式从网站中提取所需的数据.但目前Scrapy的用途十分广泛,可 ...

  3. Xilinx SDK使用教程

    本文参考 Xilinx SDK软件内置的教程,打开方法:打开SDK->Help->Cheet Sheets...->Xilinx SDK Tutorials,这里有6篇文档.本文详细 ...

  4. SharePoint 2013的100个新功能之搜索(一)

    一:新的搜索架构 SharePoint 2013中将最好的两个搜索引擎"SharePoint搜索"和"SharePoint FAST搜索服务"整合到了一个搜索引 ...

  5. 重构 demo篇

    本文背景为学习重构一书中的一些信息的记录. 该篇以一个影片租赁为背景.通过一层层的重构,最终实现相对来说比较完美的代码. 文中经典语句摘要: “如果它没有坏,就不要动它 .” 用来形容我们工作中一些比 ...

  6. fiddler手机端抓包配置

    首先,你得安装fiddler,这是前提条件,手机抓包有必须条件: 需要保持电脑和手机在同一个局域网中 (这一点,我一般会在电脑上启动一个wifi,然后手机连接即可) 下面说一下如何配置: 手机连接电脑 ...

  7. Relation.js——基于pixi.js的拓展模块之人物关系图谱

    出于[重构基于D3的关系图谱项目]的目的,在看完pixi.js之后,并且网上又没有现成的基于webgl的关系图谱js库,于是,本人决定自己写一个. 因为平常要工作的原因,进度可能有点慢,但是githu ...

  8. Ubuntu下gcc的简单使用

    一直不怎么用gcc,今天看了大神们的笔试题,不得不动手开始写程序了,差距那个大啊. gcc是ubuntu下的终端编译器,可以用来写C.C++的程序,简单用法如下: vim name1.c 先用vim打 ...

  9. MyBatis_Study_001(入门)

    1.话不多说,直接搞起; (源码地址https://github.com/carryLess/mbtsstd-001) 2.去官网https://github.com/mybatis下载文件 下载完成 ...

  10. eclipse工程 'cocostudio/CocoStudio.h' file not found

    android.mk里有这样配置: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) $(call import-add-path,$(LOCAL_ ...