javascript - 使用隐藏 IFrame 在 javascript 中上传的文件的大小

标签 javascript html file file-upload

我正在 HTML 中使用隐藏的 IFrame 来上传文件。我想知道上传的文件的大小。如何做呢。

 function fileselect(iframeid,ctrlFilePath,ctrlHdnFilePath,ctrlHdnFileName,taskName,filelist,ctrlhdnstoredfilename,ctrlhdnurlpath)
 {
      var frame=document.getElementById(iframeid);
      frame.setAttribute("filepath", ctrlFilePath);
      frame.setAttribute("filename", ctrlHdnFileName);
      frame.setAttribute("urlpath", ctrlhdnurlpath);
      var wdf = window.document.getElementById(iframeid).contentWindow.document.forms[0];
      var ctrlFileUpload = wdf.file;
      ctrlFileUpload.click();
      if (ctrlFileUpload.value != "") 
      {
           document.getElementById(ctrlFilePath).value=ctrlFileUpload.value;
           fileupload();
      }
 }

 function fileupload()
 {
      var objIFrame = document.getElementsByTagName("IFRAME");
      for(var i=0; i<objIFrame.length; i++)
      {
           var wdf = window.document.getElementById(objIFrame[i].id).contentWindow.document.forms[0];
           var ctrlFileUpload = wdf.file;
           if (ctrlFileUpload.value != "") {
                wdf.submit();
                alert("File is " + wdf.file.size + " bytes in size");
           }
           delete wdf;
           wdf=null;
      }
 }

我尝试了上面的代码wdf.file.size,但每次我上传的文件大小都是 20 字节,即使它不是。

编辑:

我也尝试了 wdf.file.files[0].size 但我得到 wdf.file.files 为未定义。

在 IFrame 中加载的 html。

 <form name="process" id="process" method="post" action="xyz.jsp" enctype="multipart/form-data">
      <input type=file  id="file" name="file" >

 </form>

寻找适用于 IE6+ 的东西

最佳答案

我得到了可以在 IE 11 上运行的代码。

 var myFSO = new ActiveXObject("Scripting.FileSystemObject");
 var filepath = document.upload.file.value;
 var thefile = myFSO.getFile(filepath);
 var size = thefile.size;
 alert(size + " bytes"); 

关于javascript - 使用隐藏 IFrame 在 javascript 中上传的文件的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36573104/

相关文章:

javascript - 在 JavaScript 字符串中的某个字符后插入空格

javascript - 如何转换 'timelite.js' 或 'moment.js' 中的分钟、小时总和?

html - 如何制作下拉菜单?

java - 写入 OSX's/Library/Application Support 文件夹会抛出 IOException : Permission denied

java - 从用 Java 编写的二进制文件中检索 C 中的 double

javascript - 将 Bootstrap 片段转换为语义 ui - 可能吗?

javascript - 向两个不同方向切换菜单

php - 是否可以将图像上传到服务器并同时将表单提交到数据库?

jquery - Hole li sort by one div with jquery

javascript - 如何将大量随机字节写入文件