java 基于Struts2的 文件上传和下载
程序员文章站
2024-02-01 13:14:34
...
文件上传:
页面代码:
action中代码:
SaveFileUtils工具类:
文件下载:
前端页面:
<s:iterator value="#articleMap" var="article" status="a">
<form action="<%=path%>/info/download" method="post">
<tr>
<td>
<input type="hidden" name="fileName" value="<s:property value="value"/>"/>
<s:property value="key"/>
</td>
<td>
<input type="submit" value="审查">
</td>
</tr>
</form>
</s:iterator>
action代码:
struts.xml中配置:
页面代码:
<form action=''method='post'> <td><input type="file" name="myFile"/></td> <td><input type="submit" value="提交"/></td> </form>
action中代码:
String uploadPath =ServletActionContext.getServletContext().getRealPath("/reviseUpload")+ "\\" + this.getMyFileFileName(); File toFile =new File(uploadPath); if(!toFile.exists()){ toFile.createNewFile(); } SaveFileUtils.copyFile(getMyFile(), toFile);
SaveFileUtils工具类:
public class SaveFileUtils { public static void copyFile(File src,File dst){ InputStream inputStream=null; OutputStream outputStream=null; try { inputStream=new FileInputStream(src); outputStream = new FileOutputStream(dst); byte[] buffer = new byte[1024]; int length = 0; while ((length = inputStream.read(buffer)) > 0) { outputStream.write(buffer, 0, length); } outputStream.flush(); } catch (Exception e) { e.printStackTrace(); }finally{ try { inputStream.close(); } catch (Exception e2) { e2.printStackTrace(); } try { outputStream.close(); } catch (Exception e2) { e2.printStackTrace(); } } }
文件下载:
前端页面:
<s:iterator value="#articleMap" var="article" status="a">
<form action="<%=path%>/info/download" method="post">
<tr>
<td>
<input type="hidden" name="fileName" value="<s:property value="value"/>"/>
<s:property value="key"/>
</td>
<td>
<input type="submit" value="审查">
</td>
</tr>
</form>
</s:iterator>
action代码:
private String fileName; public String getFileName() { return fileName; } public void setFileName(String fileName) { this.fileName = fileName; } public InputStream getInputStream() { try { return new FileInputStream(fileName); } catch (FileNotFoundException e) { e.printStackTrace(); throw new RuntimeException(e); } } @Override public String execute() throws Exception { return SUCCESS; }
struts.xml中配置:
<action name="download" class="cn.com.RJ.ation.downloadAction"> <result type="stream"> <param name="contentType">application/octet-stream</param> <param name="inputName">inputStream</param> <param name="contentDisposition">attachment;filename="${fileName}"</param> <param name="bufferSize">4096</param> </result> </action>
上一篇: HTTP协议详解
下一篇: TCP/IP 个人总结
推荐阅读
-
java 基于Struts2的 文件上传和下载
-
Linux - 通过SecureCRT的rz、sz和sftp实现文件的上传和下载
-
SpringMVC实现文件上传和下载的工具类
-
基于spring-boot和docker-java实现对docker容器的动态管理和监控功能[附完整源码下载]
-
Spring MVC的文件上传和下载以及拦截器的使用实例
-
基于java文件上传-原始的Servlet方式
-
Java对Excel表格的上传和下载处理方法
-
Java利用apache ftp工具实现文件上传下载和删除功能
-
Android实现文件上传和下载倒计时功能的圆形进度条
-
Java利用apache ftp工具实现文件上传下载和删除功能