gpt4 book ai didi

基于Struts文件上传(FormFile)详解

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章基于Struts文件上传(FormFile)详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

Struts中FormFile用于文件进行上传 。

1.在jsp文件中进行定义 。

?
1
2
3
4
5
< form action = "/StrutsFileUpAndDown/register.do" method = "post" enctype = "multipart/form-data" >
  名字:< input type = "text" name = "name" />
  头像:< input type = "file" name = "file" />
  < input type = "submit" value = "注册用户" >
  </ form >

2.在Form表单中定义FormFile 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
  * Generated by MyEclipse Struts
  * Template path: templates/java/JavaClass.vtl
  */
package com.yourcompany.struts.form;
 
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
 
/**
  * MyEclipse Struts
  * Creation date: 08-24-2017
  *
  * XDoclet definition:
  * @struts.form name="userForm"
  */
public class UserForm extends ActionForm {
  /*
   * Generated Methods
   */
 
  private String username;
  private FormFile file;
  
  public String getUsername() {
   return username;
  }
  public void setUsername(String username) {
   this.username = username;
  }
  public FormFile getFile() {
   return file;
  }
  public void setFile(FormFile file) {
   this.file = file;
  }
 
}

3.利用struts文件进行关联Form,关联以后 。

1)利用表单实例进行获取FormFile实例,在获取以后,我们可以通过FormFile获取上传文件的各种信息 。

?
1
2
3
4
5
6
7
8
9
UserForm userForm = (UserForm) form;
String username = userForm.getUsername();
FormFile file = userForm.getFile();
 
//通过formFile可以获取关于用户上传文件的各种信息
//用于获取文件名字
String fileName = file.getFileName();
//用于获取文件大小
int fileSize = file.getFileSize();

2)通过FormFile实例获取输入流,创建一个输出流,并且在代码中获取tomcat服务器的绝对路径 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
try {
  //获取输入流
  is = file.getInputStream();
 
  //得到输出流
  //1.得到file文件夹,上传到tomcat服务器后的绝对路径(file文件为新创建的文件夹)
  String filePath = this.getServlet().getServletContext().getRealPath("/file");
  //两个"//"的其中一个"/"为转义符
   os=new FileOutputStream(filePath+"\\"+fileName);
  
  int len=0;//表示读取的字节
  //做一个缓存,防止文件过大而造成错误
  byte[] buff=new byte[1024];
  while((len=is.read(buff))!=-1)
  {
   os.write(buff,0,len);
  }
  is.close();
  os.close();
}

以上这篇基于Struts文件上传(FormFile)详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.

原文链接:http://www.cnblogs.com/callyblog/archive/2017/08/24/7425138.html 。

最后此篇关于基于Struts文件上传(FormFile)详解的文章就讲到这里了,如果你想了解更多关于基于Struts文件上传(FormFile)详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com