我想让用户预览他们的图像作为 div 背景的样子。我不想让他们将图像上传到我的服务器,而是将其存储在他们的本地缓存中并让 Jquery 获取路径并将背景图像替换为用户选择的图像......
问问题
243 次
4 回答
2
您可以将图像转换为数据 URI,并在他们预览图像时使用它。
于 2012-06-22T19:59:59.417 回答
1
听起来像是 File API 的理想用例。文件 API 仅需要 [足够的] HTML5 支持。(也就是说,不是 jQuery。)您现在可以编写代码并在 Firefox 和 Chrome 中进行测试:
http://www.caniuse.com/#feat=fileapi
对于移动用户,还有 PhoneGap 和其他 3rd 方解决方案。
于 2012-06-22T20:05:29.630 回答
1
不跨浏览器:
document.getElementById('uploader').onchange = function(){
var file = document.getElementById('uploader').files[0];
if (!file.type.match(/image.*/)) {
// this file is not an image.
alert('File type not supported');
}
else{
var img = document.createElement("img");
var reader = new FileReader();
reader.onload = function(e) {
img.src = e.target.result;
delete this;
}
img.onload = function(e) {
//do your code
}
reader.readAsDataURL(file);
}
};
于 2012-06-22T20:06:35.793 回答
1
这是我使用 jQuery 和 HTML5 File API 拼凑起来的东西。在更改 input[type='file'] 时,它将尝试将图像加载为 img 标签的 src。File APi 本质上将本地文件转换为 DataURI,然后您可以将其作为 src 提供
于 2012-06-22T21:57:43.207 回答