使用jquery/php/html使用fileupload值更改imgsrc

使用jquery/php/html使用fileupload值更改imgsrc,php,jquery,image,file-upload,preview,Php,Jquery,Image,File Upload,Preview,我正在开发一个facebook标签,它使用html文件上传组件接受一些文本和图片,其想法是当用户在文件上传组件中选择图片时,他们选择的图像会显示在页面上,作为在上传到服务器之前预览图片的一种方式。我尝试使用val()检查图像url,但出于安全原因,浏览器不提供本地文件的完整url。有没有一种方法可以使用php或jquery实现这一点 谢谢我相信: 函数句柄文件(文件){ 对于(var i=0;i

我正在开发一个facebook标签,它使用html文件上传组件接受一些文本和图片,其想法是当用户在文件上传组件中选择图片时,他们选择的图像会显示在页面上,作为在上传到服务器之前预览图片的一种方式。我尝试使用val()检查图像url,但出于安全原因,浏览器不提供本地文件的完整url。有没有一种方法可以使用php或jquery实现这一点

谢谢

我相信:

函数句柄文件(文件){
对于(var i=0;i
您可能还对阅读其他示例感兴趣,例如

Edit:此方法依赖于
FileReader
API,因此正如您所指出的,它无法在IE9上工作,但我认为不这样做是不可能的。

最后,您是否需要IE9兼容性?您可能会发现,添加一个只适用于少数用户群的功能是可以接受的。

您可以使用以前从未使用过的功能,但IE9中似乎不支持HTML5 FileReader API,它也需要在该浏览器中工作:/谢谢!这是由于项目的时间安排,在除IE9之外的所有浏览器中都很有魅力
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);
  }
}