需要在一个项目上添加图片.文件等时 ,按以下操作完成文件上传
1,先在数据库添加保存文件地址的列(能为空)
2,在页面添加上传文件的input
<input type="file" name="myFile"/>
这里name不能与数据库名一致
3,因为是临时添加文件,所以以前的insert sql是要修改的,在sql上添加上你数据库添加的列就好,然后直接到controller的insert方法添加注解(实体里也要添加)
4,创建文件上传util
代码如下:
public class UploadUtil {
//文件上传主要代码
//MultipartFile 获取文件
//定义一个公开的静态方法
public static String upload(MultipartFile mf){
//定义一个变量保存文件名
String filename = mf.getOriginalFilename();
//判断这个变量是否为空
if (filename!=null && !filename.equals("")){
//不为空就加上当前时间,为了文件名不重复(System.currentTimeMillis()为当前时间)
filename=System.currentTimeMillis()+"_"+filename;
try {
//找出上传文件要保存到的地址
String path=System.getProperty("user.dir").replace("bin","webapps")+"/upload";
//调用File,将要上传的文件名和要上传到的地址放进去
File file=new File(path,filename);
//将file给到mf的transfweTo
mf.transferTo(file);
} catch (IOException e) {
e.printStackTrace();
}
}
//最后返回文件名
return filename;
}
}
做完以上步骤就可以运行了,结果是可以将选择的文件保存的数据库的,要显示到页面上还需要一些操作
(1)在Tomcat中调出保存文件或图片的文件夹
做完这个就可以到页面完成这一步显示了
运行结果:
页面:
数据库: