以文本方式查看主题

-  搭建论坛  (http://bbs.diylsoft.com:8118/starforum/index.asp)
--  用户服务  (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=2)
----  [求助]搭建者中如何在未上传文件之前得到文件的大小  (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=2&id=30713)

--  作者:梁鹏
--  发布时间:2010-10-5 20:19:36
--  [求助]搭建者中如何在未上传文件之前得到文件的大小

如题

 

谢谢


--  作者:newcom
--  发布时间:2010-10-6 0:24:26
--  
  1. 网上查到的,不知行不行?
  2. 限制:
  3. <input type="text" size="4" value="10" name="fileSizeLimit" id="fileSizeLimit"/> K
  4. <input type="file" name="file1" id="file1" size="40" />
  5. <br>
  6. <img src=http://blog.xunuo.com/blog/images/icons/23.gif id="fileChecker" alt="test"/>
  7. <script type="text/javascript">
  8. var oFileChecker = document.getElementById("fileChecker");
  9. function changeSrc(filePicker){
  10.     oFileChecker.src = filePicker.value;
  11. }

  12. oFileChecker.onreadystatechange = function (){
  13.     if (oFileChecker.readyState == "complete")    {
  14.         checkSize();
  15.     }
  16. }

  17. function checkSize(){
  18.     var limit  = document.getElementById("fileSizeLimit").value * 1024;
  19.     if (oFileChecker.fileSize > limit)    {
  20.         alert("too large");
  21.     }else{
  22.         alert("ok");
  23.     }
  24. }
  25. </script>  

--  作者:pc_doctor
--  发布时间:2010-10-6 0:33:29
--  

采用“磁盘文件管理”构件即可。


一、将需要上传的文件名及路径直接赋值给“磁盘文件管理”属性的“文件1“中。
二、执行“磁盘文件管理”方法“得到文件大小”。
三、将“磁盘文件管理”属性中的“大小”取值出来即可了。

 

 执行> 页面1.磁盘文件管理1.一般方法:[得到文件大小]
参数> 页面1.磁盘文件管理1.属性:(大小)
参数> 自定义.数字:"1024"
参数> 运算.以上两项数值相:<除>
参数> 自定义.字符:" KB"
参数> 运算.以上各项进行字符串:<连接>
设置> 页面1.行编辑2.属性:(编辑内容)

 


请自行测试……


--  作者:pc_doctor
--  发布时间:2010-10-6 1:46:56
--  
以下是引用coco在2010-10-6 0:37:44的发言:

楼上的好像还是上传之后。

刚才我只是在服务器上测试通过。

 

经你提醒,马上到WEB客户端测试了一下,确实不能实现提前获取文件大小。

 

同时也发现了“文件上传”构件确实存在不少不足之处。


--  作者:梁鹏
--  发布时间:2010-10-6 14:51:38
--  
不知道 李老师 能否解决
--  作者:jsphp
--  发布时间:2010-10-6 19:46:37
--  
著名的 PHP 也是这样,客户端强大了。。。你的电脑就快凿出洞来了!