日期:2014-05-18  浏览次数:20706 次

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

------解决方案--------------------
1.用脚本进行判断.设成只读,用脚本进行判断 <input type=file readonly />

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>
你的第二个问题文件上传大了是有点慢,你最好在上传的时候控制一下它的上传大小


------解决方案--------------------
新版的ie好像不支持:用F1.click()添加的文件路径,提交时会报错

保险些还是用<input type="text" readonly>直接覆盖<input type="file">的文本框部分
参考:可以输入文字的下拉框

------解决方案--------------------
参看:
http://blog.csdn.net/bt_lose/archive/2008/02/29/2134952.aspx
很详细