2016-11-27 80 views
0

我看了其他问题,发现此代码正在工作,但它不工作。我已经尝试在浏览器中清除缓存,但仍然无法正常工作。谁能告诉我什么是错的?javascript代码来显示选择图像不起作用

 <script> 
     function showImage(input) { 
      if (input.files && input.files[0]) { 
      var reader = new FileReader(); 

      reader.onload = function (e) { 
       $('#pic').attr('src',e.target.result).width(200).height(200);      

      }; 

      reader.readAsDataURL(input.files[0]); 
     } 
     } 
    </script> 

HTML代码

<input type="file" name="fupload" onchange="showImage(this);"/> 
    <img id="pic" src="#" alt="your image" width="200" height="200"/> 
+0

代码本身似乎工作正常。请创建一个[JSFiddle](https://jsfiddle.net/)并描述什么不起作用。 – fstanis

+0

你不需要再设置宽度和高度为200,因为它已经在你的img标签本身 – Endless

+0

你应该使用'URL.createObjectURL(file)'而不是使用'FileReader' – Endless

回答

0

也许你不包括jQuery的!

<script> 
    function showImage(input) { 
     if (input.files && input.files[0]) { 
      var reader = new FileReader(); 
      var preview = document.querySelector('#pic'); //-->Added line; 

      reader.onload = function (e) { 
       //---Correction is here--- 
       //$('#pic').attr('src',e.target.result).width(200).height(200); 
       preview.src = reader.result; 

     }; 

     reader.readAsDataURL(input.files[0]); 
    } 
    } 

JsFiddle测试它;