2013-09-30 139 views
1

我有一个上传脚本,显示使用JQuery上传的照片的预览。现在我想将JCrop应用到该预览图像,但不会将照片加载到JCrop区域。该脚本似乎工作,JCrop区域打开预览的地方,但没有照片显示。任何人都可以请帮我解决这个问题吗?JQuery上传,预览,剪裁

function readURL(input) { 

      if (input.files && input.files[0]) { 
       var reader = new FileReader(); 

       reader.onload = function (e) { 
        $('#avatar').attr('src', e.target.result); 
       } 
       reader.readAsDataURL(input.files[0]); 
      } 
     } 
     $("#imgInp").change(function(){ 
      readURL(this); 
      $('#avatar').Jcrop(); // JCROP Displayed but no Image shown 
     }); 

<img id="avatar" src="#" alt="your image" /> 
<input type='file' id="imgInp" /> 

回答

2

您使用的是Internet Explorer吗? Internet Explorer < 10不支持您在尝试获取input.files时使用的File API。所以读者从来没有设置和加载器(虽然我确实认为读者也不支持在IE中)。 不幸的是,我正在研究一个类似的问题,所以只能告诉你它为什么不起作用,不知道如何使它工作(但),但大多数提到的选项是使用闪存或上传图像到临时文件。

文件API IE支持:http://caniuse.com/#search=file%20api

文件API:http://www.w3.org/TR/FileAPI/

+0

不,我使用的是Firefox。我对问题进行了排序(尽管我不记得现在是怎么做的) - 很高兴知道对IE的支持,谢谢 – user2737457

+0

当你记得时,请发帖,可能对某人有用:) –