1

我想在客户端使用javascript检查用户选择的文件的文件大小。我为此使用的代码是:

<script type="text/javascript">
 var myFile = document.getElementById('myfile');

  //binds to onchange event of the input field
  myFile.addEventListener('change', function() {
  //this.files[0].size gets the size of your file.
   alert(this.files[0].size);

   });
 </script>

但是当我运行代码时,选择一个文件,什么都没有发生。任何人都告诉我我做错了什么

4

3 回答 3

3

您的代码运行良好 (在带有 File API 的 HTML5 浏览器中)。确保你的块<script>元素之后<input>。在那个 jsfiddle 中,它位于“加载”处理程序中。

于 2012-04-04T13:51:37.790 回答
0

您无法使用 javascript 获取文件大小。浏览器中的安全性可防止 Javascript 访问文件系统。我相信您需要使用 Flash、ActiveX 或能够被授予权限的东西来执行此操作。

编辑:如果您使用的是 HTML5 File API,那么我想您可以做到这一点 - 但由于您没有在任何地方表明我不认为是这种情况。我会将 HTML 作为标签放在您的帖子上。

于 2012-04-04T13:46:32.723 回答
0

使用 jquery 为我工作:

http://jsfiddle.net/UUdcy/

$('#myfile').change( function() {
    var fileInput = $("#myfile")[0];
    var imgbytes = fileInput.files[0].fileSize; // Size returned in bytes.
    $('body').append('<p>'+imgbytes+'</p>');
});​
于 2012-04-04T13:55:13.953 回答