struts1.2和jquery.MultiFile.js实现多文件下传
struts1.2和jquery.MultiFile.js实现多文件上传
不好意思,这个还真不行,这个是工作中的项目,你说一下问题出在哪吧,我看看能不能帮忙解决一下。
MultiFile是个不错的多文件上传的插件,在和struts一起用的时候要注意,Struts的ActionForm的getMultipartRequestHandler().getFileElements()方法返回的是一个Hashtable。在默认情况下,在上传多个件的时候,MultiFile会为上传的文件生成同name,这样,Action在取得文件的时候就会有问题,因为Hashtable的key是不能重复的,所以只能得到上传的最后一个文件,所以在上传的时候就需要为这件文件生成不同的key值,如下:
<html:form action="/uploadFile.do" method="post" enctype="multipart/form-data" onsubmit="$(':file').each(function(i){this.name=i;});return true;">
<html:file property="file" styleClass="multi" maxlength="5"></html:file><br>
<html:submit />
</html:form>
ActionForm实现如下:
public class FileUploadForm extends ActionForm { private FormFile file; public FormFile getFile() { return file; } public void setFile(FormFile file) { this.file = file; } }
Action实现如下:(做了一些简化操作,为了突出重点)
public class FileUploadAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { //得到多个上传文件 Hashtable forms = (Hashtable) form.getMultipartRequestHandler().getFileElements(); } }
这样就可以实现多文件上传了。
1 楼
s284745061
2011-07-21
你好,能把你的项目DEMO ,发我一份嘛? 谢谢了 zhgs_2009@163.com 我的环境和你的是一样的,我的确不行
2 楼
windows1987
2011-07-22
s284745061 写道
你好,能把你的项目DEMO ,发我一份嘛? 谢谢了 zhgs_2009@163.com 我的环境和你的是一样的,我的确不行
不好意思,这个还真不行,这个是工作中的项目,你说一下问题出在哪吧,我看看能不能帮忙解决一下。
3 楼
JAVACHEN010
2011-10-26
``你好 最近我也在做多文件上传,第一次用这个JS, 很奇怪的事 我引用了multiFile.js时 提交的时候老是弹出请填写正确信息 的对话框??知道是怎么回事吗?!
1.<html:form action="/uploadFile.do" method="post" enctype="multipart/form-data" <SPAN style="COLOR: #ff0000">onsubmit="$(':file').each(function(i){this.name=i;});return true;"></SPAN>????
1.<html:form action="/uploadFile.do" method="post" enctype="multipart/form-data" <SPAN style="COLOR: #ff0000">onsubmit="$(':file').each(function(i){this.name=i;});return true;"></SPAN>????