2024年4月26日发(作者:)

1. struts2中的文件上传

第一步:在WEB=INF/lib下加入 ,

第二步:把form表单的enctype属性设置为"multipart/form-data",如

Java代码

1.

ee/list_" enctype="multipart/form-data" method="p

ost">

2. 文件:

3.

4.

5. //${tPath}:获取服务器根路径

第三步:在action中添加一下属性,

Java代码

1. public class HelloWorldAction {

2. private File image; //与jsp表单中的名称对应

3. private String imageFileName; //FileName为固定格式

4. private String imageContentType ;//ContentType为固定格

5.

6. public String getImageContentType() {

7. return imageContentType;

8. }

9. public void setImageContentType(String imageContentType) {

10. ontentType = imageContentType;

11. }

12. public String getImageFileName() {

13. return imageFileName;

14. }

15. public void setImageFileName(String imageFileName) {

16. ileName = imageFileName;

17. }

18. public File getImage() {

19. return image;

20. }

21. public void setImage(File image) {

22. = image;

23. }

24. public String execute() throws Exception{

n("imageFileName = "+imageFileName);

n("imageContentType = "+imageContentType);

27. //获取服务器的根路径realpath

28. String realpath = vletContex

t().getRealPath("/images");

n(realpath);

30. if(image!=null){

31. File savefile = new File(new File(realpath), imageF

ileName);

32. if(!entFile().exists())

ParentFile().mkdirs();

33. le(image, savefile);

34. text().put("message", "上传成功

");

35. }else{

36. text().put("message", "上传失败

");

37. }

38. return "success";

39. }

40.}

此外,可以在中配置上传文件的大小

//最

大上传配置成10M

默认的上传大小为2M

思维拓展:如果要上传的文件非常大,如上传的是电影,好几百M ,用web上

传一般是不可能难上传成功的,这时候要安装一个插件,类似于应用程序

socket ,通过网络通讯上传。

2 . 多文件上传

在上面的基础上略加改动

表单

Java代码

1.

ee/list_" enctype="multipart/form-data" method="p

ost">

2. 文件1:

3. 文件2: