我正在开发一个 facebook 选项卡,它使用 html fileUpload 组件接受一些文本和图片,其想法是,当用户在 fileUpload 组件中选择图片时,他们选择的图像将作为在将图片上传到服务器之前预览图片的方式。我尝试使用 val() 来获取图像 url,但出于安全原因,浏览器不会提供本地文件的完整 url。有没有办法使用 php 或 jquery 来做到这一点?
谢谢
最佳答案
我相信this is what you're looking for :
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);
}
}
您可能还有兴趣阅读其他示例,例如 this one .
编辑:此方法依赖于 FileReader
API,因此正如您指出的那样,它不适用于 IE9,但我认为不是否则可能。
归根结底,您需要 IE9 兼容性吗?您可能会发现添加一项适用于除少数用户群之外的所有用户的功能是可以接受的。
关于php - 使用 jquery/php/html 更改 img src 和 fileupload 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19162739/