我正在使用 html fileUpload 组件接受一些文本和图片的 facebook 选项卡,其想法是当用户在 fileUpload 组件中选择图片时,他们选择的图像会出现在页面上作为预览的一种方式图片上传到服务器之前。我尝试使用 val() 获取图像 url,但出于安全原因,浏览器不会提供本地文件的完整 url。有没有办法使用 php 或 jquery 来做到这一点?
谢谢
我正在使用 html fileUpload 组件接受一些文本和图片的 facebook 选项卡,其想法是当用户在 fileUpload 组件中选择图片时,他们选择的图像会出现在页面上作为预览的一种方式图片上传到服务器之前。我尝试使用 val() 获取图像 url,但出于安全原因,浏览器不会提供本地文件的完整 url。有没有办法使用 php 或 jquery 来做到这一点?
谢谢
我相信这就是您正在寻找的:
function handleFiles(files) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
var imageType = /image.*/;
if (!file.type.match(imageType)) {
continue;
}
var img = document.createElement("img");
img.classList.add("obj");
img.file = file;
preview.appendChild(img);
var reader = new FileReader();
reader.onload = (function(aImg) { return function(e) { aImg.src = e.target.result; }; })(img);
reader.readAsDataURL(file);
}
}
您可能也有兴趣阅读其他示例,例如这个。
编辑:此方法依赖于FileReader
API,因此正如您所指出的,它不适用于 IE9,但我认为否则不可能。
归根结底,您需要IE9 兼容性吗?您可能会发现添加一个适用于除少数用户群之外的所有用户的功能是可以接受的。