文件上传
引入s标签,在html页面<s:file name="photo" label="照片"/>
action部分:
public String upload() {
//1.拿到ServletContext
ServletContext application=ServletActionContext.getServletContext();
//调取realPath方法,获取根据一个虚拟目录得到的真实目录
String filePath=application.getRealPath("/WEB-INF/files");
//真实目录不存在需要创建;
File file=new File(filePath);
if(!file.exists()){
file.mkdirs();
}
//把photo存过去
//拷贝或者剪切,此处选择剪切,拷贝会保存临时文件FileUtils.copyFile(photo,new File(file,photoFileName))
photo.renameTo(new File(file,photoFileName));
return "input";
}
文件下载
关于输入流的配置
<action name="download" class="com.police.web.action.DownloadAction" method="download">
<result name="success" type="stream">
<!-- 给stream的结果类型注入参数 :content-type-->
<param name="contentType">application/octet-stream</param>
<!--告知客户浏览器以下载的方式打开-->
<param name="contentDisposition">attachment;filename=photo.jpg</param>
<!-- 注入字节输入流:取值要写动作类中set方法名称,首字母小写 -->
<param name="inputName">inputStream</param>
</result>
<result name="input">/downloadZip.jsp</result>
</action>