首页 > 代码库 > 单个文件上传
单个文件上传
文件上传
//准备文件
1.上传单个文件页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="http://www.mamicode.com/"> <title>文件上传</title> </head> <body> <!-- 上传页面的准备 --> <s:form action="upload.action" enctype="multipart/form-data" method="post"> <s:textfield name ="title" label ="标题"/><br/> <s:file name ="upload" label="选择文件"/><br/> <s:submit name ="submit" value ="http://www.mamicode.com/上传文件"/> </s:form> </body></html>
2.在struts.xml中配置相应的action
<action name ="upload" class="action.UploadAction"> <!--通过param参数设置保存目录的路径 --> <param name="savePath">/image</param> <result name="success">/upload_success.jsp</result> </action>
3.在根据action节点找对应的类
package action;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class UploadAction extends ActionSupport{ //封装上传文件的属性 private File upload; //封装上传文件的类型 private String uploadContentType; //封装上传文件的名称 private String uploadFileName; public File getUpload() { return upload; } public void setUpload(File upload) { this.upload = upload; } public String getUploadContentType() { return uploadContentType; } public void setUploadContentType(String uploadContentType) { this.uploadContentType = uploadContentType; } public String getUploadFileName() { return uploadFileName; } public void setUploadFileName(String uploadFileName) { this.uploadFileName = uploadFileName; } public void setSavePath(String savePath) { this.savePath = savePath; } //获取文件上传的路径 private String savePath; @Override public String execute() throws Exception { //创建缓存数组 byte [] buffer =new byte[1024]; //读取文件 FileInputStream fis =new FileInputStream(getUpload()); //保存文件,并设置保存目录的路径 FileOutputStream fos =new FileOutputStream(getSavePath()+"\\"+this.getUploadFileName()); int length =fis.read(buffer); while(length>0){ //每次写入length长度的内容 fos.write(buffer,0,length); length=fis.read(buffer); } fis.close(); fos.flush(); fos.close(); return SUCCESS; } public String getSavePath(){ return ServletActionContext.getServletContext().getRealPath(savePath); }}
4.如果成功就去找成功页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="http://www.mamicode.com/"> <title>文件上传</title> </head> <body> <!--成功页面 --> 上传文件成功! 您上传的文件是:<s:property value="http://www.mamicode.com/uploadFileName"/><br/> 文件类型:<s:property value="http://www.mamicode.com/uploadContentType"/> </body></html>
单个文件上传
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。