作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当用户上传图像时,有没有办法可以在客户端加载图像并将其显示给他们,然后再将其上传到服务器?最好仅使用 javascript/jquery,但使用 flash 也可以接受。
最佳答案
新的 FileReader
是可能的接口(interface)以 HTML5 定义,目前适用于 Firefox。
文件输入有一个关联的files
属性,该属性跟踪当前为该输入选择的文件列表。要显示此列表中的文件,请创建一个新的 FileReader
对象,初始化其 onload
事件处理程序,然后将文件作为数据 URL 读取。
// get the first file, foo is a file input field
var file = document.getElementById('foo').files[0];
// setup the reader and the load complete callback
var reader = new FileReader();
reader.onload = function(e) {
var image = new Image();
// string representing the image
image.src = e.target.result;
document.body.appendChild(image);
};
// read the file as a data url
reader.readAsDataURL(file);
文件加载后,您将可以通过数据 URL 方案访问其内容,例如:
data:image/jpeg;base64,...aqHI7sNyPGFjdtQvFr/2Q==
创建一个新图像并将其src
属性设置为此数据字符串。
See a working example here 。 仅限 Firefox。
关于javascript - 有没有办法让用户在上传到服务器之前查看他们要上传客户端的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3515965/
我是一名优秀的程序员,十分优秀!