目录

  • 1. 页面表单
  • 2. 上传下载实现

1. 页面表单

<HTML><HEAD><TITLE>上传下载图片</TITLE><meta http-equiv="Content-Type" content="text/html; charset=GBK"></head><body><form enctype="multipart/form-data" action="hello/fileUploadAction!fileUpload" method="post"><table><tr><td>文件:</td><td><input type="file" name="uploadImage"></td></tr><tr><td colspan="2"><input type="submit" value="upload"><input type="reset" value="重 置"></td></tr></table><img alt="qian" src="hello/fileUploadAction!fileDownload"></form></body>
</html>

2. 上传下载实现

package action;import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.UUID;import org.apache.commons.io.FileUtils;import base.BaseAction;public class FileUploadAction extends BaseAction {private static final long serialVersionUID = 1L;// uploadImage 为表单文件名称private File uploadImage;private String uploadImageFileName; // 文件名 private String uploadImageContentType; // 文件类型public File getUploadImage() {return uploadImage;}public void setUploadImage(File uploadImage) {this.uploadImage = uploadImage;}public String getUploadImageFileName() {return uploadImageFileName;}public void setUploadImageFileName(String uploadImageFileName) {this.uploadImageFileName = uploadImageFileName;}public String getUploadImageContentType() {return uploadImageContentType;}public void setUploadImageContentType(String uploadImageContentType) {this.uploadImageContentType = uploadImageContentType;}public String fileUpload() {String path = "E:ssh\\struts2\\Struts_06\\fileDir";// 创建存储文件的文件夹File fileDir = new File(path);if (!fileDir.exists()) {fileDir.mkdirs();}int count = uploadImageFileName.lastIndexOf(".");// 得到文件后缀名String ext = uploadImageFileName.substring(count);UUID uuid = UUID.randomUUID();String fileName = uuid + ext;File file = new File(path + "\\" + fileName);if (!file.exists()) {try {// 创建文件file.createNewFile();} catch (IOException e) {e.printStackTrace();}}try {// 复制文件到上传的路径FileUtils.copyFile(uploadImage, file);} catch (IOException e) {e.printStackTrace();}return "index";}public void fileDownload() {File file = new File("E:ssh\\struts2\\Struts_06\\fileDir\\4fcd0f06-575a-47fc-a010-d0a232ef9947.jpg");System.out.println(file);// 清除空格resp.reset();// 设置文件 ContentType 自动判断下载类型resp.setContentType("multipart/form-data");// 设置文件头resp.setHeader("Content-Disposition", "attachment;fileName="+file.getName());InputStream in = null;OutputStream out = null;try {in = new FileInputStream(file);out = resp.getOutputStream();// 准备字节数组装 byte[] b = new byte[(int)file.length()];// 将文件读取到内存中in.read(b);// 使用response响应流 写到页面out.write(b);} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {try {if (out != null)out.close();if (in != null)in.close();} catch (IOException e) {e.printStackTrace();}}}public static void main(String[] args) {String str = "fhh.jpg";int i = str.lastIndexOf(".");String string = str.substring(i);System.out.println(string);}}

struts2文件上传,下载相关推荐

  1. struts2文件上传下载

    首先建立struts2UpDownLoad项目,搭建好struts2基本的开发环境. 1.    上传实例 2.     步骤一:upload.jsp代码如下: <s:form action=& ...

  2. struts2教程--实现文件上传下载

    Struts2文件上传下载 一.Struts2文件上传 提供 FileUpload 拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容 fileUpload拦截 ...

  3. struts2教程(8)--文件上传下载

    Struts2文件上传下载 一.Struts2文件上传 提供 FileUpload 拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容 fileUpload拦截 ...

  4. 【struts2】文件上传下载—struts2实现

    struts2实现上传下载时要用到的jar包: UploadAction.java(fileupload.action) package com.rczp.action;import java.io. ...

  5. Struts2 文件上传,下载,删除

    本文介绍了: 1.基于表单的文件上传 2.Struts 2 的文件下载 3.Struts2.文件上传 4.使用FileInputStream FileOutputStream文件流来上传 5.使用Fi ...

  6. struts2文件上传和下载

    struts2已经有包装好的文件上传下载组件,非常方便.看源代码,红色标记的就是文件上传的拦截器 接下来我们再来看看这个拦截器的源码,下面标记的三个参数,仔细看注释, 但是配置文件并不包括配置画红线的 ...

  7. struts上传word和excel文件到oracle,Struts文件上传,下载,重传,预览

    [Struts2]☆★之文件上传,下载,重传,预览 今日群里一兄弟问我能否给一份struts文件上传下载的例子,因为自己项目比较紧所以想在网上找 些源码给他,但是纵观全网,写的都不是太全,这让新手使用 ...

  8. 教你如何实现c#文件上传下载功能

    简单介绍一下c#文件上传下载功能实现. NuGet 安装SqlSugar Model文件下新建 DbContext 类 public class DbContext {public DbContext ...

  9. [C# 网络编程系列]专题十一:实现一个基于FTP协议的程序——文件上传下载器...

    引言: 在这个专题将为大家揭开下FTP这个协议的面纱,其实学习知识和生活中的例子都是很相通的,就拿这个专题来说,要了解FTP协议然后根据FTP协议实现一个文件下载器,就和和追MM是差不多的过程的,相信 ...

  10. SpringMVC整合fastdfs-client-java实现web文件上传下载

    为什么80%的码农都做不了架构师?>>>    版权声明:本文为博主原创文章,转载请标明出处(http://blog.csdn.net/wlwlwlwl015)Thanks. 目录( ...

最新文章

  1. nginx+passenger下504 Gateway-Timeout问题的解决办法
  2. struts2文件上传一个错误的解决
  3. 虚幻4蓝图快速入门(二)
  4. udp与tcp协议介绍
  5. 显示和快速隐藏Mac桌面所有图标
  6. 前端学习(2505):小游戏设计
  7. python asyncio 异步编程---协程
  8. linux虚拟存储技术,红帽Linux 7.0发布:整合虚拟存储技术
  9. 孙正义宣布回购55亿美元股票,软银股价创10年最大单日涨幅...
  10. 2018-05-21 Linux学习
  11. 9.2 定义和浏览翻译
  12. Java调用ffmepg+mencoder视频格式转换(*)
  13. 螺旋模型 增量模型_螺旋模型| 软件工程
  14. Mac 通过adb拉取dropbox中的内容
  15. css table thead tr border生效
  16. 水面反光如何拍摄_拍摄水景的技巧方法
  17. gic stream协议
  18. 通过Python做葡萄酒成分与质量的关系分析并可视化--GBDT/随机森林特征选取
  19. 黑帆第四季/全集Black Sails迅雷下载
  20. 解析机器人流程自动化技术的原理

热门文章

  1. 前端学习(981):jquery入门
  2. 前端学习(806):数据类型内存分配
  3. 第五十一期:AIOps落地关键点指南
  4. 第六十四期:微软将不再把 .NET Framework API 移植到 .NET Core 3.0
  5. 实例17:python
  6. 某测试仪控制系统的设计方案--ARM+FPGA+NIOS
  7. Linux 使用sigaction查询或设置信号处理方式
  8. 纯CSS实现侧边栏/分栏高度自动相等
  9. 论文阅读(3)--SPDA-CNN: Unifying Semantic Part Detection and Abstraction for Fine-grained Recognition
  10. 如何给定两个gps坐标 算出航向角_机器人开发如何配置ROS中的TF变换关系?