浏览 4136 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2005-07-11
依照webwork的文档,写了一个简单的文件上传的例子,发现了一个奇怪的问题。当上传一个文件时,一切正常。然而当同时上传多个文件时,却发现只有第一个文件能够正确上传,而其它的文件被忽略了,服务器根本没有接收。
文件上传用的是pell,多文件上传时,在Action中用File[]来接收,却发现File[]的长度永远是1。 于是我将webwork源码中自带的webwork-example部署到tomcat下,运行fileupload的例子,发现log4j在控制台上同样只打出一个文件信息。 有这方面经验的朋友介绍一下好吗? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2005-07-12
多文件上传??
记不清楚webwork的cos支持不支持了(似乎是不支持),但是默认的pell肯定是不支持的。多文件上传建议用jakarta。 #webwork.multipart.parser=cos #webwork.multipart.parser=jakarta webwork.multipart.parser=pell |
|
| 返回顶楼 | |
|
最后更新时间:2005-07-12
尝试了一下更换webwork.multipart.parser,cos,pell,jakarta都试了一下,似乎只有jakarta支持多文件上传,郁闷!
|
|
| 返回顶楼 | |
|
最后更新时间:2005-07-12
的确如此,jakarta才支持多文件上传。
另外,好象cos、pell不能处理null(也就你不上传文件)。 |
|
| 返回顶楼 | |
|
最后更新时间:2005-07-13
webwork.multipart.parser=com.opensymphony.webwork.dispatcher.multipart.JakartaMultiPartRequest
|
|
| 返回顶楼 | |
|
最后更新时间:2005-07-30
jakarta 不能传来原始文件的名称?
|
|
| 返回顶楼 | |
|
最后更新时间:2005-08-03
tiyi 写道 jakarta 不能传来原始文件的名称?
可以啊 我使用webwork 2.1.7 webwork.properties相关配置如下: [code:1] webwork.locale=zh_CN webwork.multipart.parser=jakarta webwork.i18n.encoding = GBK [/code:1] action如下: [code:1] public class FileUploadAction extends ActionSupport { private String name; File file; String fileContentType; String fileFileName; public String execute() throws Exception { //以下为保存文件,视情况修改 if(null!=file) { FileOutputStream outputStream = new FileOutputStream("d:/temp/demo_" + fileFileName); FileInputStream fileIn = new FileInputStream(file); byte[] buffer = new byte[1024]; int len; while ((len = fileIn.read(buffer)) > 0) { outputStream.write(buffer, 0, len); } fileIn.close(); outputStream.close(); } return SUCCESS; } [/code:1] 页面如下: [code:1] <%@ page contentType="text/html; CHARSET=utf8" %> <%@ taglib uri="webwork" prefix="ww" %> <html> <head> <title>My JSF 'fileupload.jsp' starting page</title> </head> <body> <ww:form name="'test'" method="'post'" enctype="'multipart/form-data'" > <ww:textarea name="'name'" label="'Name'" /> <ww:file label="'File'" name="'file'" /> <ww:submit value="'Upload'"/> </ww:form> filename: <ww:property value="fileFileName"/><br> name: <ww:property value="name"/> </body> </html> [/code:1] xwork.xml配置如下: [code:1] <action name="fileupload" class="test.FileUploadAction"> <interceptor-ref name="fileUploadStack"></interceptor-ref> <result name="success" type="dispatcher"> <param name="location">/fileupload.jsp</param> </result> </action> [/code:1] 没有其他特殊的配置 另:多个文件也没有问题 |
|
| 返回顶楼 | |
|
最后更新时间:2005-08-14
fileUploadInterceptor好像是有bug的哦
|
|
| 返回顶楼 | |
|
最后更新时间:2005-08-15
mmwy 写道 的确如此,jakarta才支持多文件上传。
另外,好象cos、pell不能处理null(也就你不上传文件)。 pell我没有试过,但cos肯定是能处理null的,只不过文件序列不会按照客户端的表单对象的排序而排列,记得当时我好像还给改了一下源代码,以便能获得文件正确的顺序。 |
|
| 返回顶楼 | |
|
最后更新时间:2005-08-30
哦,必须要声明一个fileName属性啊.令我想起了php
|
|
| 返回顶楼 | |










