struts2 文件上传下载
2012-08-07 15:09
246 查看
文件上传
Struts2文件上传
需用form表单,Form表单的提交方法为post,加上enctype="multipart/form-data"
多文件上传的名字一样,除了要用form之外,其它的基本跟用普通文本框传值到后台一样
Java代码:
可以看出java代码也没有什么不同,就是有一个file的list类,接收file,并用io流写入到服务器硬盘就行存储就行 没有什么特殊之处
用struts2的文件上传要注意的地方有几个:
1、 页面上用form表单,并用post提交,加上enctype="multipart/form-data"
2、 不论是多个文件还是一个文件,页面file标签name和后台java代码有绑定,比如:页面file标签name为“*****”,则后台定义的三个变量(接收文件,接收文件名,接收文件类型)应该相应的依次是:“****”、“*****FileName”、“*****ContentType”,配有相应set和get方法即可
Struts2下载
页面
strut2配置
java后台代码
文件下载关键之处在于 action中的 public InputStream getInputStream() 方法,struts.xml中 <param name="inputName">inputStream</param>最终下载的用的就是这个方法
Struts2文件上传
<form method="post" action="fileupload.action" enctype="multipart/form-data"> <table> <tr><td><input type="file" width="300px" name="myfile"/></td></tr> <tr><td><input type="file" width="300px" name="myfile"></td></tr> <tr><td><input type="file" width="300px" name="myfile"></td></tr> <tr><td><input type="submit" value="上传"></td></tr> </table> </form>
需用form表单,Form表单的提交方法为post,加上enctype="multipart/form-data"
多文件上传的名字一样,除了要用form之外,其它的基本跟用普通文本框传值到后台一样
<action name="fileupload" class="utilAction" method="fileupload"/>
Java代码:
private List<File> myfile; private List<String> myfileFileName; public String fileupload(){ FileInputStream fin =null; FileOutputStream fout =null; byte[] buffer; String filename ; try { for(int i=0;i<myfile.size();i++){ fin = new FileInputStream(myfile.get(i)); filename = PATH + myfileFileName.get(i); fout = new FileOutputStream(new File(filename)); buffer = new byte[1024]; int count; count = fin.read(buffer); while(count>0){ fout.write(buffer); count = fin.read(buffer); } System.out.println("上传成功"); } fout.flush(); fin.close(); fout.close(); } catch (Exception e) { e.printStackTrace(); } return null; }
可以看出java代码也没有什么不同,就是有一个file的list类,接收file,并用io流写入到服务器硬盘就行存储就行 没有什么特殊之处
用struts2的文件上传要注意的地方有几个:
1、 页面上用form表单,并用post提交,加上enctype="multipart/form-data"
2、 不论是多个文件还是一个文件,页面file标签name和后台java代码有绑定,比如:页面file标签name为“*****”,则后台定义的三个变量(接收文件,接收文件名,接收文件类型)应该相应的依次是:“****”、“*****FileName”、“*****ContentType”,配有相应set和get方法即可
Struts2下载
页面
<a href="filedownload.action?filename=1">点击下载</a>
strut2配置
<action name="filedownload" class="utilAction" method="filedownload"> <param name="directory">f:/download/</param> <result name="success" type="stream"> <!-- 指定下载文件的内容类型,text/plain是默认类型 --> <param name="contentType">text/plain</param> <!-- inputName默认值是inputStream,如果action中用于读取下载文件内容的属性名是inputStream,那么可以省略这个参数 --> <param name="inputName">inputStream</param> <!--动态获取文件名,从Action中的取得filename--> <param name="contentDisposition"> attachment;filename="${filename}" </param> <param name="bufferSize">2048</param> </result> </action>
java后台代码
public String filedownload(){ if(filename == null){ return null; } else{ return SUCCESS; } } public InputStream getInputStream(){ String dir = directory + filename + ".jpg"; FileInputStream fin = null; try { fin = new FileInputStream(dir); } catch (FileNotFoundException e) { e.printStackTrace(); } return fin; //如果dir是绝对路径 // return ServletActionContext.getServletContext().getResourceAsStream(dir); //如果dir是Resource下的相对路径 }
文件下载关键之处在于 action中的 public InputStream getInputStream() 方法,struts.xml中 <param name="inputName">inputStream</param>最终下载的用的就是这个方法
相关文章推荐
- 关于Struts2 文件上传下载
- struts2中的文件上传和下载
- Struts2(三)-Struts2之文件的上传和下载
- WEB文件上传下载过程简介(基于Struts2)
- struts2上传下载文件
- Struts2中文件的上传与下载
- Struts2实现文件上传和下载
- Struts2中文件file的上传和下载
- [Struts2] 文件上传和下载
- 深入分析JavaWeb 47 -- Struts2拦截器与文件上传下载
- struts2实现文件上传(多文件上传)及下载
- struts2文件上传下载
- Struts2 多文件上传下载
- struts2中上传与下载文件
- struts2 文件上传下载(单文件上传与多文件上传的比较)
- Struts2(三)使用Struts2实现文件的上传和下载
- struts2实现文件的上传和下载
- 使用Struts2实现文件的上传与动态下载(1)
- struts2中的文件上传下载
- Struts2实现文件上传和下载