struts2上转文件:

来源:互联网 发布:交通枢纽大数据 编辑:程序博客网 时间:2024/05/04 12:19

struts2上转文件:

由于struts2通过域驱动传递数据:所以在action定于属性File  file

并写其get、set方法

form表单的添加属性 method="post" enctype="multipart/form-data"

<input type="file" name="file">

action可以拿到的文件属性

    String fileContentType;// 文件上转类型


String fileFileName;// 上转的文件名

public String addNews() {

String realpath = ServletActionContext.getServletContext().getRealPath("");//拿到文件的绝对路劲

String[] temp = fileFileName.split("\\.");// 转译字符.

temp[0] = System.currentTimeMillis() + ServletActionContext.getRequest().getSession().getId();//修改文件名为系统时间+session的id

String finalString = "";

for (int i = 0; i < temp.length; i++) {

if (i == 0) {

finalString = temp[i]+".";

} else if (i == temp.length - 1) {

finalString = finalString +temp[i];

}else{

finalString=finalString+temp[i]+".";

}

}

File file = new File(realpath + "/img/" + finalString);// 成员变量可以喝局部变量名一样,上转的路径

System.out.println(finalString);

String patternPath = "http://192.168.10.112:8080/ManagerPlatform/img/" + finalString;

// try {

// FileOutputStream fos=new FileOutputStream(file);

// FileInputStream fis=new FileInputStream(this.file);

// byte[] buffer=new byte[1024];

// int i=0;

// while((i=fis.read(buffer))>0){

// fos.write(buffer,0,i);

// }

// fis.close();

// fos.close();

// } catch (FileNotFoundException e) {

//

// e.printStackTrace();

// } catch (IOException e) {

//

// e.printStackTrace();

// }


try {

FileUtils.copyFile(this.file, file);

} catch (IOException e) {


e.printStackTrace();

}


news.setImg(patternPath);

return service.addNews(news);

}

原创粉丝点击