今日目标:
Struts之文件上传在Struts之增删改查的基础上进行开发
三种方式:
一,上传到tomcat服务器
1,自己的电脑,项目在哪里,图片就在哪里
2,云服务器:是没有CDEF盘的,只有/根目录(阿里云、腾讯云、西部数码云)
二,(用的多)上传到指定文件目录,添加服务器与真实目录的映射关系,从而解耦上传文件与tomcat的关系文件服务器和web服务器通常是一个,但是文件目录与Tomcat目录肯定不是同一个
三,在数据库表中建立二进制字段,将图片存储到数据库(安全性比第二种高)
目标效果:
Struts之文件上传(使用第二种方式)
注意点:
开发步骤:
1.1,前端jsp界面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>文件上传界面 1.2,编写子控制器并封装参数
private File img; private String imgFileName; private String imgContentType; public File getImg() { return img; } public void setImg(File img) { this.img = img; } public String getImgFileName() { return imgFileName; } public void setImgFileName(String imgFileName) { this.imgFileName = imgFileName; } public String getImgContentType() { return imgContentType; } public void setImgContentType(String imgContentType) { this.imgContentType = imgContentType; } public String preUpload() throws Exception { this.result = this.clzDao.list(clz, null).get(0); this.req.setAttribute("result", result); return "upload"; } public String upload() throws Exception { // img代表客户选择的文件或图片,接下来要将图片上传到其他地方 String destDir="F:/ruanjian/upload/"; String serverDir="/uploadImages"; // 源文件考到目的地 FileUtils.copyFile(img, new File(destDir+"/"+imgFileName)); //将图片加到数据库 //数据库保存的值是:/uploadImages/xx.png //图片是在:F:/ruanjian/upload/ //访问:http://localhost:8080/struts/uploadImages/xx.png clz.setPic(serverDir+"/"+imgFileName); this.clzDao.edit(clz); return TOLIST; }1.3,配置子控制器
1.4,selver.xml中做路径配置
1.5,前端主页面jsp图片显示与增加操作列
效果展示:
添加成功
OK! 到这就结束了,希望能帮到你!!!



