3

我在做什么

我正在尝试在 php/jquery 中实现个人资料图片更改。上传图像时,会显示图像的预览。

我需要什么

我想获取预览图像的 src。当我使用$('img').attr('src');它时,它会给出旧图像的 src,而不是新的预览图像。

脚本

function readURL(input) {
     if (input.files && input.files[0]) {
      var reader = new FileReader();
      reader.onload = function (e) {
      var image =  $('#img').attr('src', e.target.result);
      }
      reader.readAsDataURL(input.files[0]);
     }
     }
    $("#imgInp").change(function(){
      readURL(this);
     });

HTML

 <div class="pic">

  <form id="form1" enctype="multipart/form-data">

   <img src="profile.jpg" width="150"  alt="profile" title="" id="img"/>

     <span>Change Picture?</span>

      <div class="up">

         <input type='file' name ="file" id="imgInp"  />

     </div>

         <input type="submit" name="picture" id="picture" value="Update"/>

    </form>

 </div>
4

1 回答 1

1

IE 8 中有一个新的安全“功能”,它可以从 JavaScript 调用中隐藏所选文件的真实路径(它返回 c:\fakepath)。这似乎只对“Internet”服务器激活......不是本地 Intranet 服务器......

有关 C:\fakepath 的更多信息,请参见此处

编辑

此外,您应该考虑删除这行代码(您的脚本中不需要它)...

reader.readAsDataURL(input.files[0]);
于 2013-06-19T14:18:52.943 回答