public ActionForward fileUpload(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response) throws Exception {
PictureForm pictureForm = (PictureForm) form;
FormFile file = pictureForm.getFile();
File dir = new File("d:/upload"); // 构建上传目录
if (!dir.exists()) {
dir.mkdirs();
}
if (file.getFileSize() > 0) { // 判断是否有文件上传
FileOutputStream out = null;
try {
byte[] b = file.getFileData(); // 取得文件数据
String fileName = String.valueOf(Calendar.getInstance().getTimeInMillis());
String extName = file.getFileName().substring(file.getFileName().lastIndexOf(".")); // 得到上传文件的扩展名
File outfile = new File(dir + File.separator + fileName + extName);
out = new FileOutputStream(outfile, false);
out.write(b); // 通过流将数据写入文件
} catch (Exception e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close(); // 关闭文件输出流
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
return new ActionForward("success");
}
注:jsp页面要使用struts标签,格式如下:
<html:form action="" method="post" enctype="multipart/form-data">
<html:file property=""/>
</html:form>
另外在ActionForm中定义一个FormFile属性,对应jsp页面中的<html:file />
Struts1.1实现文件上传
最新推荐文章于 2020-09-11 11:15:07 发布