您的位置:首页 > 编程语言 > Java开发

Struts2 实现文件的上传与下载

2017-11-14 14:51 561 查看

话不多说,直接上码

Action部分
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;

/**
* @author  Yan xiaolei E-mail:mr_yanxiaolei@163.com
* @date 创建时间:2017年11月14日 下午12:03:48
*/
public class PhotoAction {

private File photo;
private String photoFileName;
private String url;
private InputStream inputStream;
public String upload(){
photo.renameTo(new File("D:/Test/"+photoFileName));
return "success";
}
public String download(){
File file = new File(url);
try {
inputStream= new FileInputStream(file);
photoFileName =url.substring(url.lastIndexOf("/")+1);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "downloadOk";
}
public File getPhoto() {
return photo;
}
public void setPhoto(File photo) {
this.photo = photo;
}

public String getPhotoFileName() {
return photoFileName;
}
public void setPhotoFileName(String photoFileName) {
this.photoFileName = photoFileName;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public InputStream getInputStream() {
return inputStream;
}
public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
}

}


Struts.xml 部分
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>

<package name="photo" extends="struts-default" namespace="/">
<!-- 通配符方式定义action的url -->
<action name="photoAction_*" class="com.lingzhuo.struts2.photo.PhotoAction" method="{1}">
<result name="success">/success.jsp</result>
<result name="downloadOk" type="stream">

<!-- 指定有当前Action 中的哪个方法返回数据流 -->
<param name="inputName">inputStream</param>
<!-- 指定文件下载时,浏览器处理文件的方式 -->
<param name="contentDisposition">attachment;filename=${photoFileName}</param>

</result>
</action>
</package>

</struts>
前台部分代码
提交文件
form action="photo/photoAction_upload.do" method="post" enctype="multipart/form-data">
<p>图片上传</p>
年龄:<input type="file" name="photo"><br>
<input type="submit" value="上传"><br>

</form>
下载文件:
<a href="photo/photoAction_download.do?url=D:/Test/${photoFileName}">${photoFileName}</a>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts2.0 upload