一、Struts2文件下载
在Struts2中实现文件下载,需要再Struts.xml中配置文件中先配置用于下载的拦截器,然后在Struts.xml中配置相关的节点。
<result name="success" type="stream">中的Stream的参数值,Stream的常用参数如下:
一、ContentType:用于指定下载文件的类型,该文件类型与互联网MIME标准中的规范一直,即text/xml表示用于XML类型的文件,text/gif表示gif图片,text/plain表示纯文本类型
二、inputName:用于指定下载文件的输入流入口,如果在Action中声明的是getInputStream()方法,应在配置文件Struts.xml中配置为<param name="inputStream">inputStream</param>,如果在Action中声明的是getTargetFile()方法,应在配置文件Struts.xml中配置为<param name="inputStream">targetFile</param>
三、contentDisposition:用于指定文件下载的处理方式,有内联(Inline)和附件(Attachment)两种方式.
内联(InLine)是指浏览器会自动尝试将文件内容显示在浏览器上
附件(Attachment)是指下载文件会以附件下载的形式
四、BufferSize:用于设置下载文件时的缓存大小
文件在下载时也可以进行权限控制。例如:如果用户没有登录就不能下载,需要先登录后下载。