java struts 文件上传与文件下载

今天和大家继续分享java struts 文件控制上传和下载。

  1. 文件上传:指将本地文件上传到服务器指定目录下。在struts框架中,文件上传需要用到<s:file>标签,该标签是一个表单标签,要放在<s:form>标签中。现在看一个文件上传的实例,进而讲解各个标签的含义及其用法。
    1. 创建项目 把lib标签以及web.xml配置好,在之前的博客已经分享。
    2. 在src目录下创建包com.action,在该包下创建java文件

FileUploadAction.java代码如下:

(3).在src目录下创建struts.xml文件

  

在文件中配置了action文件过滤拦截器。该拦截器在struts-default中配置过,名称为fileUpload。它的两个参数maximumSize和allowedType。maximumSize参数指定允许上传的文件大小。allowedType参数指定允许上传的文件类型,多个文件类型之间用逗号隔开。

(3)在webContent目录下创建index.jsp文件,代码如下:

index.jsp是入口文件,method属性一般指定为post方法

(5).success.jsp文件

运行结果返回文件的文件名和文件类型

(6)运行结果:

提交前

选择文件提交

提交后

2.文件下载:将文件从服务器上下载到本地机器上,该过程是一个GET过程。直接看代码

   (1).lib下的jar包和web.xml配置。

  (2)在src下创建包com.action,在该包下创建DownloadAction.java文件,代码如下:

       

(3)在src目录下创建struts.xml

  

contenType:该属性指定下载文件的文件类型。

ContentDisposition:该属性指定下载的文件名。

inputName:该属性制定下载文件的入口输入流方法。

bufferSize:该属性指定下载文件时的缓冲大小。

还有两个属性:

allowChange:该属性指定是否缓冲,默认为true。

contentLength:该属性指定下载文件的流长度。

(4)index.jsp入口文件

(5)运行结果

   点击前

 

点击后

在成功运行前,遇到了一个小麻烦,当点击download file时出现错误

这是什么原因呢,结合自身的和网上的我总结了一下

a.你要下载的文件不存在。 
b.你要下载的文件存在,但你想下载的文件名乱码了。 
c.直接路径就有问题。

但很有可能的是:如果是用的是eclipse,代码中需要在WebContent下建文件夹download,在文件夹下有一张Desert.png的图片;而在myeclipse下,需要在WebRoot下建文件夹。

 

图:

 

谢谢大家,分享就到这了,期待分享ajax的使用。

猜你喜欢

转载自blog.csdn.net/yy_dream_one/article/details/82219557