在实际开发中,经常会遇到上传文件到服务器的操作,因此在这里就举一个简单的例子
public class PathUtils {
public static String getFolderPath(){
String path = System.getProperty("user.dir");
File file = new File(path);
File parentFile = file.getParentFile();
path = parentFile.getPath() + "/" + "xcFile";
return path;
}
}
public Result<?> uploadFile(MultipartFile multipartFile, HttpServletRequest request) throws ParserConfigurationException, TransformerException, IOException {
if(multipartFile == null){
return Result.newFaild("文件信息不完整!");
}
//获取工程上传文件夹相对路径
String path = PathUtils.getFolderPath();
String contextPath = path + "/" + fileType;
if(!multipartFile.isEmpty()){
String fileName = multipartFile.getOriginalFilename();
try {
File tempFile = new File(contextPath);
if (!tempFile.exists()) {
tempFile.mkdirs();
}
String[] strs = fileName.split("\\.");
if (strs.length < 2) {
return Result.newFaild("文件没有扩展名");
}
String extensionName = "." + strs[strs.length - 1];
contextPath += "/" +StringUtil.toHexString(fileName.replace(extensionName, ""))
+ extensionName;
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(
new File(contextPath)));
out.write(multipartFile.getBytes());
out.flush();
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
return Result.newFaild("上传失败," + e.getMessage());
} catch (IOException e) {
e.printStackTrace();
return Result.newFaild("上传失败," + e.getMessage());
}
}else {
return Result.newFaild("文件不可为空!");
}
return Result.newSuccess("上传成功!");
}