首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

struts2下传和上载

2012-10-06 
struts2上传和下载1,文件上传 1)struts.xml配置 action nameaddStockEx methodpost enctypeMULTI

struts2上传和下载
1,文件上传

1)struts.xml配置

<action name="addStockEx" method="post" enctype="MULTIPART/FORM-DATA">

  <input type="file"name="upload">

</form>

2,文件下载

1)struts.xml配置

<action name="download" type="stream">
     
      <param name="contentType">/image/gif</param><!--下载文件的类型-->
      <param name="inputName">targetFile</param><!--注意这里,在action类中肯定会有个getTargetFile()方法-->
      <param name="contentDisposition">attachment;filename="hah.gif"</param>  <!--下载文件的名称,注意这里需要定义attachment;  否则就会默认inline 表示浏览器会尝试打开-->
      <param name="bufferSize">4096</param>  <!--下载缓冲区大小-->
      </result>
    </action>

2)Action类

public class FileDownLoadAction
{
private String inputPath;


public InputStream getTargetFile() {
  return ServletActionContext.getServletContext().getResourceAsStream(inputPath);
}

public void setInputPath(String inputPath) {
  this.inputPath = inputPath;
}
public String execute()
{
  return "SUCC";
}

public String getInputPath() {
  return inputPath;
}


}

3)jsp页面

<a href="download.action">下载</a>



一些参数说明:

contentType

内容类型,和互联网MIME标准中的规定类型一致,例如text/plain代表纯文本,text/xml表示XML,image/gif代表GIF图片,image/jpeg代表JPG图片

inputName

下载文件的来源流,对应着action类中某个类型为Inputstream的属性名,例如取值为inputStream的属性需要编写getInputStream()方法

contentDisposition

文件下载的处理方式,包括内联(inline)和附件(attachment)两种方式,而附件方式会弹出文件保存对话框,否则浏览器会尝试直接显示文件。取值为:

attachment;filename="hah.gif",表示文件下载的时候保存的名字应为hah.gif。如果直接写filename="hah.gif",那么默认情况是代表inline,浏览器会尝试自动打开它,等价于这样的写法:inline; filename="hah.gif"

bufferSize

下载缓冲区的大小

。在这里面,contentType属性和contentDisposition分别对应着HTTP响应中的头Content-Type和Content-disposition头。



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hy0231/archive/2008/12/19/3555957.aspx

热点排行