`
china_jianchen
  • 浏览: 61805 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2 file上传在简单代码

JSP 
阅读更多
在jsp中:

<s:form action="process_task/process_task!upload" theme="simple" method="post" enctype="multipart/form-data">
<table width="80%">
<tr>
<td>上传流程</td>
<td colspan="2"><s:file name="myFile" label="上传" theme="simple" ></s:file> <input type="submit" value="上传并获取任务"/></td>
</tr>
<table>

在action 中:
@Controller
@Result(name="success",type="chain",location="process_task")
public class ProcessTaskAction extends PersistAction<ProcessTask> {
private static final long serialVersionUID = -1496120091120103L;

private static final int BUFFER_SIZE = 16*1024;
    private File myFile;
private String contentType;
private String fileName;
private static String fileSite;
         
        public void setMyFileContentType(String contentType)  {
         this .contentType = contentType;
       }

        public void setMyFileFileName(String fileName)  {
         this .fileName = fileName;
   }

public File getMyFile() {
return myFile;
}

public void setMyFile(File myFile) {
this.myFile = myFile;
}

         /**
* 上传文件的方法
* @return 返回上传文件
*/
public String upload() {
if(fileName != null && !"".equals(fileName.trim())) {
String newFileName = new Date().getTime()+getExtention(fileName);
fileSite = ServletActionContext.getServletContext().getRealPath("/uploadXml")+"/"+newFileName;
File file = new File(fileSite);
copy(myFile,file);

}
return "list";

}
        /**
* 文件流的复制
* @param src 上传的源文件
* @param des 新建的文件
*/
private static void copy(File src, File des ) {
try {
InputStream in = null;
OutputStream out = null;

try {
     in = new BufferedInputStream( new FileInputStream(src), BUFFER_SIZE);
             out = new BufferedOutputStream( new FileOutputStream(des), BUFFER_SIZE);
             byte[] bt =  new byte[BUFFER_SIZE];
             int length = 0;
             while((length = in.read(bt)) >0 ) {
            out.write(bt,0,length);
             }
} finally {
if(null != in) {
in.close();
}
if(null != out ) {
out.close();
}

}
} catch (Exception e) {
e.printStackTrace();
}
}


/**
* 获得上传文件名
* @return
*/
private static String getExtention(String fileName) {
String name= null;
if(fileName != null && !"".equals(fileName.trim())) {
int indext = fileName.lastIndexOf(".");
name = fileName.substring(indext);
}
return name;
}


}
分享到:
评论

相关推荐

    struts2文件上传以及下载

    struts2文件上传以及下载 用最简单的代码来实现struts2的文件上传下载机制

    Struts2多文件上传与邮件附件发送

    当上传的文件在struts.multipart.maxSize和maximumSize之间时,系统提示: File too large: file "MSF的概念.ppt" "upload__5133e516_129ce85285f__7ffa_00000005.tmp" 6007104 当上传的文件小于maximumSize,上传...

    struts文件上传(源代码)

    struts文件上传例子其中包括控制文件类型和文件大小(源代码)

    Struts2使用FlashFileUpload.swf实现批量文件上传

    最近想在Struts2中实现批量上传(使用html的file标签时,一次只能选一个文件,我是想一下可以选多个文件),结果找了半天,大都是swf+ajax的,用起来太复杂了,代码也很繁多,实在没耐心了。 就想起FlashFileUpload...

    JQuery_uploadify_struts2_jsp__ajax多文件上传

    'fileDataName' : 'file' 因为在页面上没有加上这个属性,导致在aciton里边接收不到file文件,页面会显示:HTTP ERROR! /index.jsp return "upload"; 开始我这里没有返回值,直接return null,以为它是ajax...

    深入浅出Struts2(附源码)

    作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,如数据类型转换、文件上传和下载、提高Struts 2应用的安全性、调试与性能分析、FreeMarker、Velocity、Ajax,等等。跟随作者一道深入Struts 2,聆听...

    struts2 上传多个文件 .doc

    在Struts2中,用于获得和设置java.io.File对象(Struts2将文件上传到临时路径,并使用java.io.File打开这个临时文件)的方法是getUpload和setUpload。获得和设置文件名的方法是getUploadFileName和setUploadFileName...

    jqGrid demo in Struts2 & Hibernate war file part 1

    Struts2 和 hibernate 演示 jqGrid, 使用Action中的 代码可以容易的把jqGrid 用于servlet或纯jsp. Struts 2.16, jqGrid 3.5b, hibernate 3.2 annotation 由于我的上传权限为20M,而我上传上的包括所有的源代码和支持...

    AjaxFileUpload+Struts2实现多文件上传功能

    本文重点给大家介绍AjaxFileUpload+Struts2实现多文件上传功能,具体实现代码大家参考下本文。 单文件和多文件的实现区别主要修改两点, 一是插件ajaxfileupload.js里接收file文件ID的方式 二是后台action是数组形式...

    用ssh实现图片上传

    详细的资料上传ssh代码在页面上写上struts的文件标签,注意enctype="multipart/form-data" method="post",action里要求有3个属性 private File file; private String fileContentType; private String ...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    如数据类型转换、文件上传和下载、Struts2应用的安全性、调试与性能分析、FreeMarker、Velocily、Ajax,等等。跟随作者一道深入Struts2。聆听大量来之不易的经验之谈。你对Struts2开发框架的理解和应用水平都将更上...

    jquery之ajaxfileupload异步上传插件(附工程代码)

    点我下载工程代码 由于项目需求,在处理文件上传时需要使用到文件的异步上传。这里使用Jquery Ajax File Uploader这个组件下载地址:http://www.phpletter.com/download_project_version.php?version_id=6 服务器端...

    ssh(structs,spring,hibernate)框架中的上传下载

    WEB-INF下的applicationContext.xml为Spring的配置文件,struts-config.xml为Struts的配置文件,file-upload.jsp为文件上传页面,file-list.jsp为文件列表页面。  本文后面的章节将从数据持久层->业务层->Web层的...

    java+mysql实现的代码分享网(所有源码已开源,效果可看网址:www.admintwo.com)

    基于struts2+spring+springjdbc开发的代码分享网,所有源码已开源。 网站功能介绍: 1、邮件注册(采用阿里云企业邮箱),为了让大家体验一下邮箱注册功能。我已经在分享的源码中,为大家配置好了测试账户,大家可以...

    structs程序设计从入门到精通word文档

    3.8struts简单例子的分析(含代码注释和配置文件说明) 9 3.9本章小结 10 第4章 配置STRUTS组件 10 4.1 Web 应用部署描述符 10 4.2 STRUTS配置文件 10 4.3 应用资源文件 10 4.4 ANT的构建文件 10 4.5 struts中的日志...

    strust文件上传

    //得到是字节数,即byte,我们可以直接用file.getFileSize(),也可以在创建读取对象时用streamIn.available(); // int ok=streamIn.available(); int ok=file.getFileSize(); String strFee = null; //这个地方...

    企业人力资源管理项目SSH+EXT+MySQL+MD5

    在web.xml的display-name标签与welcome-file-list标签中加入一下代码 struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* org.springframework.web.context....

    JSP网络编程从基础到实践的实例代码

    JSP网络编程从基础到实践的实例代码 ... 实例66 一个简单的struts应用实例——用户登录 第10章 JSP中的JavaMail开发 实例67 发送文本格式的邮件 实例68 发送 HTML邮件 实例69 发送带有附件的邮件 实例70 接收EMAIL

Global site tag (gtag.js) - Google Analytics