博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
上传图片预览
阅读量:5904 次
发布时间:2019-06-19

本文共 671 字,大约阅读时间需要 2 分钟。

图片预览有两种方式:一种是本地预览,一种是先上传到服务器,然后再发送到客户端预览。

这里说的是本地预览。

1、思路

   将所选图片的路径赋给<img>标签的src属性,为此就要获取文件路径。

出于安全性的考虑,许多浏览器上传文件时屏蔽了真实的本地文件路径,比如在360中你会看到这样的:C:\fakepath\a.jpg

所以,重点在于如何在不同浏览器中取上传文件路径。

2、代码

3、说明

   (1)window.URL表示Firefox,window.webkitURL表示Chrome

   (2)在ie9和ie10中运行时,会提示说IE浏览器限制了这个页面的脚本运行,问是否允许运行,要运行才能开到效果,

   (3)关于在IE浏览器中暴露的这个问题,笔者也没有找到比较好的方法,虽然网上说在obj.select();后调用obj.blur();

使其失去焦点但是仍然不行,无奈。

   (4)在火狐和Chrome中,alert(path);会发现是这样的:

blob表示二进制文件

   (5)上传文件的时候传到服务器的不是文件路径,而是这个文件,服务器端通过request读取这个文件流到服务器端,

绝不是先得到这个文件路径,然后再通过路径读取文件。可以通过火狐浏览器中用Firebug查看。

   (6)可以用Flash调用js的方式实现预览,这样不用考虑浏览器之间的差异了。

4、测试

   IE9、FF、Chrome、360测试通过

5、参考

本文转自    手不要乱摸      51CTO博客,原文链接:

http://blog.51cto.com/5880861/1400809

转载地址:http://jnjpx.baihongyu.com/

你可能感兴趣的文章
美文共赏
查看>>
RHEL6入门系列之十七,打包与压缩
查看>>
SQLite 3.7.13的加密解密(二)—— 开放宏定义
查看>>
禁止server 2008域端口的脚本
查看>>
数据结构图之二(最小生成树--普里姆算法)
查看>>
HTML输出 一 控制列背景颜色
查看>>
Redis for Windows(C#缓存)配置文件详解
查看>>
回忆2013年的点点滴滴(各个方面)
查看>>
ASP.NET MVC 4使用PagedList.Mvc分页
查看>>
HDOJ 2066 floyed优化算法
查看>>
window.onscroll
查看>>
开发常用动画收集
查看>>
nginx js、css多个请求合并为一个请求(concat模块)
查看>>
mybatis实战教程(mybatis in action)之五:与spring3集成
查看>>
解决浏览器Adobe Flash Player不是最新版本问题
查看>>
SQLite 约束
查看>>
Python爬虫学习——使用Cookie登录新浪微博
查看>>
linux配置网络
查看>>
vsftp 500 OOPS: cannot change directory:/home/xyp
查看>>
MVC ---- EF的安装于卸载
查看>>