如要实现文件上传,首先在页面的from表单中加上<form action="upload"enctype="multipart/form-data">
/**
* 此方法是一个service,也可以写一个controller方法,看自己的爱好与需要
* 如果是从controller中调用此方法,MultipartFile对象可使用request.getFile(表单中file的name属性值)获取
*/
public String upload(MultipartFile partFile){
String fileName = partFile.getOriginalFilename(); //获取文件名
String path = "D:\\file"; //设置上传路径,也可以上传到linux中
File file = new File(path+fileName); //创建IO的File对象,将上传路径和文件名组合成一个新的路径
//假如在本地D盘中没有file这个文件目录,可以使用mkdir创建目录
if(file.getParentFile.exists()){ //首先调用getParentFile方法,作用是获取父目录;exists方法是判断父目录是否存在
//这里创建目录的时候为什么要先调用获取父目录的方法?
//如果不先获取父目录,那么在创建时,会将文件名也作为目录一起创建。因为在创建file时,就将文件名和地址组合在了一
//起。比如:上传的路径为“D:\\file\a.txt”,如果不先获取父目录的话,那么创建出来的目录有file和a.txt;反之,创建出来的目录就只有file
file.getParentFile.mkdirs(); //如果不存在则调用mkdirs方法,创建父目录。
}
//上传文件
partFile.transferTo(file); //这里会抛出一个异常
return "file upload success";
}