2 ffw2008 FFW2008 于 2016.05.09 18:04 提问

struts2中的commons-fileupload组件上传文件时候遇到的错误

action如下:

public class UploadAction {
private File upload;// 封装上传文件
private String uploadContentType;// 封装上传文件的类型
private String uploadFileName;// 封装上传文件名的属性
private String uploadPath;// 封装上传文件在服务器中的路径,通过参数设置
private String result;// 封装处理结果的值
private String valiPdf;

public File getUpload() {
    return upload;
}

public void setUpload(File upload) {
    this.upload = upload;
}

public String getUploadContentType() {
    return uploadContentType;
}

public void setUploadContentType(String uploadContentType) {
    this.uploadContentType = uploadContentType;
}

public String getUploadFileName() {
    return uploadFileName;
}

public void setUploadFileName(String uploadFileName) {
    this.uploadFileName = uploadFileName;
}

public String getUploadPath() {
    return uploadPath;
}

public void setUploadPath(String uploadPath) {
    this.uploadPath = uploadPath;
}

public String getResult() {
    return result;
}

public void setResult(String result) {
    this.result = result;
}

public String getValiPdf() {
    return valiPdf;
}

public void setValiPdf(String valiPdf) {
    this.valiPdf = valiPdf;
}

public String execute() throws IOException,SQLException{
    String fn = uploadPath + uploadFileName;
    String classPath = this.getClass().getResource("").getPath();
    String webPath = new File(new File(new File(new File(new File(classPath).getParent()).getParent()).getParent()).getParent()).getParent();
    String webFn = webPath + "\\" + fn;
    System.out.println(uploadFileName+"........................");
    String[] strsplit = uploadFileName.split("\\.");
    for(String str: strsplit){
        System.out.println(str+"........................");
    }
    if(!("pdf".equalsIgnoreCase(strsplit[1]))){
        valiPdf = "文档格式不对,应该为PDF格式文件";
        return "fail";
    }else{              
        if (new File(webFn).exists()) {
            result = "该文件已存在";
        } else {
            Connection conn = null;
            PreparedStatement ps = null;
            conn = JDBCUtils.getConn();
            ps = conn.prepareStatement("insert into address values(null,'"+fn+"')");
            ps.executeUpdate();
            JDBCUtils.close(conn, ps, null);

            FileOutputStream fos = new FileOutputStream(webFn);
            InputStream is = new FileInputStream(upload);
            byte[] buffer = new byte[102400];
            int count = 0;
            while ((count = is.read(buffer)) > 0) {
                fos.write(buffer, 0, count);
            }
            fos.close();
            is.close();
            result = "文件上传成功";
        }
        return "result";
    }
}

}

struts.xml代码如下:
图片说明

为什么去掉if语句

if(!("pdf".equalsIgnoreCase(strsplit[1]))){
valiPdf = "文档格式不对,应该为PDF格式文件";
return "fail";

数据就可以传进去,不去掉的话,就传不进去呀??

难道是错误的result标签不可以配吗

3个回答

fk002008
fk002008   2016.05.09 19:15
已采纳

写错了哦
注意

<param>要写在 <result>里面
<result>
    <param>
</result>
fk002008
fk002008   2016.05.09 18:50

你写的配置文件看不到啊

FFW2008
FFW2008   2016.05.09 19:01




/WEB-INF/page/result.jsp
upload\
/WEB-INF/page/fileUpload.jsp




/WEB-INF/page/fileUpload.jsp




/WEB-INF/page/show.jsp


配置文件是这个

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
利用commons-fileupload组件上传文件至服务器和数据库- -
common-fileupload是jakarta项目组开发的一个功能很强大的上传文件组件下面先介绍上传文件到服务器(多文件上传):import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.util.*;import java.util.regex.*;import org.apache.comm
利用 Commons-Fileupload 实现文件上传
文章转自:http://www.blogjava.net/kiant/articles/232301.html 一、准备: 1、 下载 commons-fileupload 库,下载地址:http://commons.apache.org/fileupload/ 2、 下载 commons-fileupload 依赖库 commons-io,下载地址:http://commons.a
Struts2下使用Common-FileUpload实现文件上传
struts2下使用commons-fileupload框架实现文件上传。
JSP使用commons-fileupload组件实现文件上传代码示例
这篇文章主要介绍了JSP使用commons-fileupload组件实现文件上传代码示例,具有一定的参考价值,具体内容如下1、准备:将commons-fileupload-1.1.zip和commons-io-1.1.zip复制到"\WEB-INF\lib"目录下2、首先是Servlet:FileUpload.java package servlet; import java.io.File;
利用commons-fileupload组件实现文件上传-实例
一、所需要的包: 1、commons-fileupload-1.2.1.jar: 下载地址 http://commons.apache.org/downloads/download_fileupload.cgi 2、commons-io-1.4.jar: 下载地址 http://commons.apache.org/downloads/download_io.cgi
《Java》----详解用apache的commons-fileupload组件实现文件上传
在web开发中,文件上传功能是很普遍的,我们最常见的就是上传图片了,还有上传Excel,今天小编给大家分享一下利用apache的组件实现文件上传功能。     文件上传总体思路     我们想要将磁盘上的文件上传到服务器上去,首先应该有一个管理磁盘文件的工具,当我们上传文件时,还要有一个负责上传文件和解析文件的工具,这两个工具就是apache提供的jar包,commons-fileupload
struts2配置commons-fileupload的问题
这个问题主要出现在上传文件时parseRequest()的值为空,原因是struts2的Filter拦截了。   ServletFileUpload sfu= new ServletFileUpload(factory);   List fileList= sfu.parseRequest(request);     解决办法一、 修改一下web.xml配置   fi
用jsp+commons-fileupload实现文件上传
这几天在网上看看,关于commons-fileupload组件的使用介绍太乱了,把他们的代码用用,编译起来错误太多,所以我今天把jsp+commons-fileupload多文件上传搞定了,整理出来,供大家分享,学习。前些天做好了JSP+Smart-upload多文件上传,查了些网上的资料,说是Smart-upload文件上传在传输大文件的时候,浏览器会崩溃,故转向Commons-FileUplo
commons-fileupload实现文件上传
一、准备需要上传的文件上传文件的准备就不用多说了,先准备一个jsp页面。此页面中有一个form表单,此表单有如下三个特征。 a、表单的method必须是post b、表单的enctype属性值必须是multipart/form-data c、表单中提供<input type="file"/> 二、开始上传我们需要建立一个servlet,在此servlet中准备上传所需要的类,也就是D
JAVA使用apache commons-fileupload组件完成文件上传到服务器功能
本案主要完成使用阿帕奇commons-fileupload组件完成文件上传功能(浏览器端上传到服务器) 1 首先准备这两个apache组件导入项目 2 前端页面简单写了写 其中要注意的地方时,表单提交Form内内容enctype必须加上,且内容必须是multipart/form-data,表示二进制方式提交 另外提交方式必须是post 3 开始fileUp