基于struts2的文件上传与下载

1.导入stuts2包(导入常用的即可)
2.文件上传
upload.jsp
部分代码如下(红色部分引起注意):
<form name="frm" action="<s:url value="/uploadfile/uploadFile.action"/>" method ="post" [color=red]enctype ="multipart/form-data"[/color] >
......
[color=red]<input type="file" name ="myFile"/>[/color]
......

UploadFileAction.java
部分代码如下
private File myFile = null; // 上传的文件

private String fileName = null;// 上传文件名

private String contentType = null;// 文件类型

public void setMyFileContentType(String contentType) {
this.contentType = contentType;
}

public void setMyFileFileName(String fileName) {
this.fileName = fileName;
}
public void setMyFile(File myFile) {
this.myFile = myFile;
}
......
//文件上传
File uploadFile = new File("D:/" + uuid + attach);
FileUtils.copyFile(myFile, uploadFile);

......

struts.xml文件配置(部分代码)
<action name="uploadFile" class="com.uploadFileAction">
<interceptor-ref name="fileUpload">
<param name="maximumSize">10485760</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"/>
<param name="savePath">/upload</param>
<result name="input">/FileUpload/uploadFile.jsp</result>
<result name="success">/FileUpload/listFiles.jsp</result>
</action>

3.文件下载(部分代码)
download.jsp(注意红色部分:避免中文乱码)
<a href="<s:url value="/uploadfile/downloadFile.action">[color=red]<s:param name="url" value="此处为文件路径"/>[/color]</s:url>"></a>

DownloadFileAction.java
......
private InputStream inputStream = null; //这里必须为inputStream
private String url = null;
......
inputStream = FileUtils.openInputStream(new File(url));
......
public InputStream getInputStream() {
return inputStream;
}
public void setUrl(String url){
this.url = url;
}
......

struts.xml文件配置
<action name="downloadFile" class="downloadFileAction">
<result name="success" type="stream">
<param name="bufferSize">4096</param>
<param name="contentDisposition">
attachment
</param>
</result>
</action>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值