struts2框架上传文件(参考)
来源:互联网 发布:java技术总监岗位职责 编辑:程序博客网 时间:2024/06/07 00:38
1.编写一个页面(单文件上传):
文件上传要素:
(1)表单的提交的方式需要是POST
(2)表单中需要有<input type=”file”>
必须有name属性
(3)表单的enctype属性必须是multipart/form-data
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";%><!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>上传文件</title> </head> <body> <form enctype="multipart/form-data" method="post" action="<%=basePath %>/upload/upload.action"> <input type="file" name="upload" value="" /> 资源描述:<input type="text" name="desc" value="" /> <input type="submit" name="submit" value="提交"> </form> </body></html>
2.编写Action:
package com.ming.upload;import java.io.File;import java.io.FileReader;import java.io.Reader;import org.apache.commons.io.FileUtils;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;/* * 提供文件上传的三个属性:* 文件类型(File) 属性名与<input type=”file”>中name属性一致.* 字符串类型(String) 属性名前端与<input type=”file”>中name属性一致.后端+FileName;* 字符串类型(String) 属性名前端与<input type=”file”>中name属性一致.后端+ContentType; */public class UploadAction extends ActionSupport { // 接收普通项的值: private String desc; public void setDesc(String desc) { this.desc = desc; } /* * 原理就是将前端文件流存储在临时文件中,并定义File对象为upload */ private File upload; //对应前端的文件input框的name属性值 private String uploadFileName; // 上传文件的文件名. 由File的属性名称和FileName拼接而成 private String uploadContentType; // 上传文件的MIME的类型. 由File的属性名称和ContentType拼接而成 public void setUpload(File upload) { this.upload = upload; } public void setUploadFileName(String uploadFileName) { this.uploadFileName = uploadFileName; } public void setUploadContentType(String uploadContentType) { this.uploadContentType = uploadContentType; } @Override public String execute() throws Exception { System.out.println("desc="+desc); // 获得文件上传的磁盘绝对路径.(当前服务器存放的磁盘位置) String path = ServletActionContext.getServletContext().getRealPath( "/upload"); // 创建一个文件对象: File diskFile = new File(path+"\\"+uploadFileName); System.out.println(uploadFileName); System.out.println(uploadContentType); //将上传文件的流临时存放到服务器上的临时文件 System.out.println("文件路径:" + upload.getPath()); //将上传的文件复制到服务器指定的目录中 FileUtils.copyFile(upload, diskFile); /* * 用输入流读取文件 */ Reader reader = new FileReader(upload); char[] cbuf = new char[1024]; while(reader.read(cbuf) != -1) { for (int i = 0; i < cbuf.length; i++) { System.out.print(cbuf[i]); } } reader.close(); return NONE; }}
struts2文件上传参考链接1
struts2文件上传参考链接2
阅读全文
0 0
- struts2框架上传文件(参考)
- 文件上传-Struts2框架
- Struts2 框架文件上传
- java框架之struts2(文件上传)
- Struts2框架的文件上传
- struts2框架-------文件上传机制
- Struts2 框架上传文件问题
- Struts2框架之文件上传
- 框架(一)struts2——文件上传与下载
- 手工处理 Struts2 框架上传的文件
- 手工处理 Struts2 框架上传的文件
- 关于struts2框架工程HttpClient上传文件
- Struts2框架的文件上传--common-fileupload
- Struts2框架11.文件上传与下载
- struts2文件上传(多文件上传)
- Struts2 文件上传(一)
- struts2文件上传(服务器端)
- struts2上传文件(进度条)
- Linux 文件名和路径的最大长度
- Nginx详细的安装教程(linux)
- andriod系统源码编译之1---制作U盘
- 关于浏览器进入Kibana,初始配置时无法create,显示unable to fetch mapping的问题
- 面向对象写拖拽事件
- struts2框架上传文件(参考)
- cocos图片按钮之一个界面显示
- 数据库阿里连接池 druid配置详解
- Color FERET人脸数据库说明
- Idea在Mac上如何同时启动多个tomcat运行多个web项目
- 算法课程LeetCode题解博客网站更换说明
- 谈谈strcpy和memcpy的那些事
- Python异常处理机制
- 测试守护线程的小例子