SSH框架中实现文件的上传功能
来源:互联网 发布:韩春雨实验重复 知乎 编辑:程序博客网 时间:2024/05/16 08:26
1.上传页面代码 upload.jsp
<body> <form action="upload.action" method="post" enctype="multipart/form-data" > 请选择需要上传的文件:<input type="file" id="dofile" name="file"/><br /> <input type="submit" id="btnupload" name="btnupload" value="开始上传"> </form> </body>
2.通过struts的控制跳转的action代码,将选择的文件通过流上传到项目目录下的upload文件夹中。
package com.boya.action;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.List;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class uploadAction extends ActionSupport { //上传文件存放路径 private final static String UPLOADDIR = "/upload"; //上传文件集合 private List<File> file; //上传文件名集合 private List<String> fileFileName; //上传文件内容类型集合 private List<String> fileContentType; public List<File> getFile() { return file; } public void setFile(List<File> file) { this.file = file; } public List<String> getFileFileName() { return fileFileName; } public void setFileFileName(List<String> fileFileName) { this.fileFileName = fileFileName; } public List<String> getFileContentType() { return fileContentType; } public void setFileContentType(List<String> fileContentType) { this.fileContentType = fileContentType; } public String execute() throws Exception { System.out.println(this.getFileFileName()); for (int i = 0; i < file.size(); i++) { //循环上传每个文件 uploadFile(i); } return "success"; } //执行上传功能 private void uploadFile(int i) throws FileNotFoundException, IOException { try { InputStream in = new FileInputStream(file.get(i)); String dir = ServletActionContext.getRequest().getRealPath(UPLOADDIR); File fileLocation = new File(dir); //此处也可以在应用根目录手动建立目标上传目录 if(!fileLocation.exists()){ boolean isCreated = fileLocation.mkdir(); if(!isCreated) { //目标上传目录创建失败,可做其他处理,例如抛出自定义异常等,一般应该不会出现这种情况。 return; } } String fileName=this.getFileFileName().get(i); File uploadFile = new File(dir, fileName); OutputStream out = new FileOutputStream(uploadFile); byte[] buffer = new byte[1024 * 1024]; int length; while ((length = in.read(buffer)) > 0) { out.write(buffer, 0, length); } in.close(); out.close(); } catch (FileNotFoundException ex) { System.out.println("上传失败!"); ex.printStackTrace(); } catch (IOException ex) { System.out.println("上传失败!"); ex.printStackTrace(); } } }
- SSH框架中实现文件的上传功能
- 基于ssh框架的文件上传功能
- ssh框架中对文件的上传
- SSH框架上传附件及下载功能的实现
- spring和mybatis框架中实现文件上传功能
- SSH框架之Struts的文件上传
- 自学SSH框架之---struts(六):struts的上传文件功能
- ssh框架下ocupload实现一键上传功能
- 文件上传功能的实现
- 文件上传功能的实现
- 文件上传功能的实现
- 文件上传功能的实现
- 文件上传功能的实现
- ssh框架实现一组功能的步骤
- ssh初步整合实现邮件的发送和上传文件的功能
- SSH,JSP用FormFile实现文件上传功能
- SSH(STRUTS2+SPRING+HIBERNATE)实现文件上传功能
- 【SSH网上商城项目实战13】Struts2实现文件上传功能
- PyQt学习总结
- hive常用资料
- HTTPS连接的前几毫秒发生了什么
- iOS应用内支付(IAP)的那些坑
- unable to rename 报错解决[转]
- SSH框架中实现文件的上传功能
- jquery分页插件datatables各参数详细说明及简单应用
- kmalloc、vmalloc、malloc的区别
- Activity四种启动模式
- ICE学习笔记一----运行官方的java版demo程序
- Debug和Release版本区别
- c语言 结构体
- 将普通图片转换为QT中使用的XPM文件
- POJ 1236 Network of Schools(强连通 + 想法)- from lanshui_Yang