struts2实现文件上传(单个+多个文件上传)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Struts2实现的文件上传功能
一,单个文件上传 (2)
Jsp页面 (2)
Action层代码 (2)
Struts.xml配置文件中代码 (4)
上传成功跳转页面代码 (5)
二,多文件上传 (5)
Jsp页面 (5)
Action层代码 (6)
Struts配置文件(与单个一样) (8)
上传成功后显示页面 (8)
文件上传,类型的拦截,具体请看action的配置 (9)
一,单个文件上传
Jsp页面
Action层代码
public class FileFloadAction extends ActionSupport
{
private static final int BUFFER_SIZE = 16 * 1024;
// 与jsp页面
private File myFile;
// 通过myFile自动传递过来ContentType,起名为file的名字
+ContentType
private String myFileContentType;
// 文件的名字,与上ContentType类似,起名为file的名字+FileName private String myFileFileName;
// 图片的名字
private String imageFileName;
****************************************************
此处生成get,set方法
****************************************************
//得到文件的名字与类型,并返回
private static String getExtention(String myFileFileName) {
int pos = stIndexOf("\\");
return myFileFileName.substring(pos + 1);
//实现文件的拷贝
private static void copy(File src, File dst)
{
try
{
InputStream in = null;
OutputStream out = null;
try
{
in = new BufferedInputStream(new FileInputStream(src),
BUFFER_SIZE);
out = new BufferedOutputStream(new FileOutputStream(dst),
BUFFER_SIZE);
byte[] buffer = new byte[BUFFER_SIZE];
//修正后的copy
for (int byteRead = 0; (byteRead =
in.read(buffer)) > 0;)
{
out.write(buffer, 0, byteRead);
}
}
finally
{
if (null != in)
in.close();
if (null != out)
out.close();
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
public String fileFload()
//名字可以取时间+类型(不会重复)
// imageFileName = new Date().getTime() + getExtention(fileName);
//得到image的名字及类型
imageFileName = getExtention(myFileFileName);
//得到将要上传的目的地的路径
String totalPath =
ServletActionContext.getServletContext()
.getRealPath("/img");
//在目的地创建一个文件
File imageFile = new File(totalPath + "/" + imageFileName);
//把要上传的文件复制到目的地文件中去
copy(myFile, imageFile);
return SUCCESS;
}
}
Struts.xml配置文件中代码
//文件上传
class="com.forum.action.FileFloadAction"method="fileFload"> image/bmp,image/png,image/gif,image/jpeg name="success">/fileUploadSuccess.jsp