我用struts的html:file上传文件到数据库
1,如果上传文件的时候,不是选择一个文件,而是输入路径,这个时候路径输入的不是像"c:\test.txt"这样的,而是直接输入test。这个时候表单就无法提交,submit无效。有没有办法把这个设置成无法输入。
2,如果选择一个>1M的上传文件,上传的速度就很慢,请问这样正常么。一般可以上传多大的文件。 

解决方案 »

  1.   

    1.用脚本进行判断.设成只读,用脚本进行判断 <input type=file readonly />2.只要服务器支持,文件大小可以无限大. 速度就要看网速和服务器运行的速度了.
      

  2.   

    <input   type="file"   name="gsimg"   style="width:390px;"   onKeyDown="javascript:this.blur();"   oncontextmenu="return   false">
    或者用文本框代替
    代码如下
      <script>   
      function   test()   {   
      with(document.frm1)   {   
      F1.click();   
      FileName.value   =   F1.value;   
      }   
      }   
      </script>   
      </head>   
        
      <body>   
        
      <form   name="frm1"   method="POST"   enctype="multipart/form-data">   
      <input   type="file"   id="F1"   name="F1"   size="20"   style="display:none">   
      <input   type="text"   name="FileName"   size="20">   
      <input   type="button"   value="TEST"   name="B1"   onclick="test()">   
      </form>   
        
      </body>
    你的第二个问题文件上传大了是有点慢,你最好在上传的时候控制一下它的上传大小
      

  3.   

    新版的ie好像不支持:用F1.click()添加的文件路径,提交时会报错保险些还是用<input type="text" readonly>直接覆盖<input type="file">的文本框部分
    参考:可以输入文字的下拉框
      

  4.   

    参看:
    http://blog.csdn.net/bt_lose/archive/2008/02/29/2134952.aspx
    很详细