web.xml :
ServletDownload.java :
重启tomcat服务器,即可实现对压缩包和对图片的下载。
2、struts如何实现文件的上传和下载?
先新建web project ,然后Add Struts Capabilties
struts.xml的配置:
upload.jsp :
<form action="upload.action" theme="simple" enctype="multipart/form-data" method="post">

表单中enctype="multipart/form-data"的意思,是设置表单的MIME 编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;
只有使用了multipart /form-data,才能完整的传递文件数据,进行下面的操作.enctype="multipart/form-data"是上传二进制数据; form里面的input的值以2进制的方式传过去。
theme="simple"是struts2的一个最简单的主题,这样你的标签就生成最简单的HTML元素不会生成额外的内容
<input type="file" />
【这里的name一定要与action类里面的name名字一致,set/get】
success.jsp
web.xml
UploadAction.java
Upload.java
mkdirs()可以建立多级文件夹,mkdir()只会建立一级的文件夹,如下:
newFile("/tmp/one/two/three").mkdirs();
执行后,会建立tmp/one/two/three四级目录
newFile("/tmp/one/two/three").mkdir();
则不会建立任何目录,因为找不到/tmp/one/two目录,结果返回false
例子的代码结构:2.2struts下载文件
DownloadAction.java
struts.xml
1.结果类型必须要写成type="stream" ,与之对应的处理类是 org.apache.struts2.dispatcher.StreamResult
2.涉及到的参数:
1) <param>attachment;fileName="${fileName}"</param>
contentDisposition默认是 inline(内联的), 比如说下载的文件是文本类型的,就直接在网页上打开,不能直接打开的才会打开下载框自己选择
2)attachment :下载时会打开下载框
3)fileName="${fileName}" :在这定义的名字是一个动态的,该名字是显示在下载框上的文件名字
3.<param>DownloadFile</param>,这个DownloadFile名字要和DownloadAction.java类中的getDownloadFile()方法名去掉get 一致
Struts2下载文件实现的说明
contentType
内容类型,和互联网MIME标准中的规定类型一致,例如text/plain代表纯文本,text/xml表示XML,image/gif代表GIF图片,image/jpeg代表JPG图片
inputName
contentDisposition
文件下载的处理方式,包括内联(inline)和附件(attachment)两种方式,而附件方式会弹出文件保存对话框,否则浏览器会尝试直接显示文件。取值为:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-72582-2.html
麦地路
范围不定
美国佬所做的一切