struts2文件上传

来源:互联网 发布:js中的eval方法 编辑:程序博客网 时间:2024/06/14 05:16

第一步:

要想实现文件上传,首先要在form表单中写入:enctype属性

<form enctype="multipart/form-data" action="<%=request.getContextPath()%>/control/department/action2" method="post">
       请选择你要上传的文件:<input type="file" name="userImg"><br/>
       <input type="submit" value="提交">

</form>

第二步:

在服务器端,接收的时候,写一个属性,属性的名字要和上面的文件名一样,即userImg,并提供他的set和get方法

如果要得到上传文件的文件名,也很简单,struts2中规定,只要在添加一个属性,(name)FileName即可,这里的name指的是userImg

同理,如果想得到上传文件的文件类型,也很简单,只要添加一个属性,(name)ContentType即可!即userImgContentType

所以只要添加一个userImgFileName属性,并添加他的set个get方法即可!

第三步:

最后,如何将得到的文件保存到硬盘呢?

String filePath=ServletActionContext.getServletContext().getRealPath("/imgs");  //得到指定目录的真实路径

File file=new File(filePath);//创建文件夹

if(!file.exist())file.mkdirs();//如果文件夹不存在,那么就创建该文件夹

if(userImg!=null)FileUtils.copyFile(userImg,new File(file,userImgFilename));//将文件拷贝到指定的路径中!不过文件名最好修改!不然就难管理,或者重名导致覆盖!

如果上传的文件过大,需要在struts.xml文件中,改变上传文件大小的限制

<constant name="struts.multipart.maxSize" value="指定上传文件的总大小限制" />

-----------------------------------------------------------苦难不是博得同情的资本,只有不断奋斗才能改变命运!


0 0