HTML5实现预览本地图片


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

$(function() {

$('#upload_image').change(function(event) {

// 根据这个 <input> 获取文件的 HTML5 js 对象

var files = event.target.files, file;

if (files && files.length > 0) {

// 获取目前上传的文件

file = files[0];

// 来在控制台看看到底这个对象是什么

console.log(file);

// 那么我们可以做一下诸如文件大小校验的动作

if(file.size > 1024 * 1024 * 2) {

alert('图片大小不能超过 2MB!');

return false;

}

// !!!!!!

// 下面是关键的关键,通过这个 file 对象生成一个可用的图像 URL

// 获取 window 的 URL 工具

var URL = window.URL || window.webkitURL;

// 通过 file 生成目标 url

var imgURL = URL.createObjectURL(file);

// 用这个 URL 产生一个 <img> 将其显示出来

$('body').append($('<img/>').attr('src', imgURL));

// 使用下面这句可以在内存中释放对此 url 的伺服,跑了之后那个 URL 就无效了

// URL.revokeObjectURL(imgURL);

}

});

});

简要说明
简单来说整个操作设计如下几步:
1.通过 <file> 的 change 事件触发事件,并且获取 event 对象;
2.通过 event 对象获取上传的文件的 js 对象 file ;
3.通过 window.URL 工具从 file 对象生成一个可用的 URL;
4.把这个 URL 置入使用;
5.*释放这个 URL 的伺服
关键点:
1.对于同一个 file ,每次调用 URL.createObjectURL 的时候,都会重新生成一个不同的 URL;
2.调用 URL.createObjectURL 的时候,浏览器自动在内存中开辟空间,用于伺服这个 URL,也就是使得这个 URL 可以请求成功;
3.如果调用了 URL.revokeObjectURL(imgURL); 之后,这个伺服就会关掉,再请求这个 URL 就会 404;
4.这一切都是客户端的事情,服务器端对此一无所知,包括你选择的这个图;
5.这个 imgURL 大概是这个样子:blob:http%3A//localhost%3A8000/22cc97d5-5e46-4d87-9df4-c3e8c0aa72bb

相关推荐:

利用HTML5 Canvas制作一个简单的打飞机游戏

以上就是HTML5实现预览本地图片的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

如何提取图片的主题色?

HTML5新增标签有哪些?

采用HTML5+signalr2.0(.net)实现原生web视频的代码分享

HTML5中使用json对象的实例代码

h5的语义化标签

HTML5新知识

h5的组织内容如何使用

HTML5调用摄像头功能的实现代码

怎样用h5预览pdf格式的文档

HTML5实现微信jssdk录音播放语音的实例

更多相关阅读请进入《HTML5》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...