filepath=/root/project/G:/upload/
时间: 2023-12-01 18:42:34 浏览: 62
QT案例 一个查询SMBIOS表数据和查询硬盘/分区信息的工具 可执行程序 非源码
很抱歉,filepath=/root/project/G:/upload/是一个无效的文件路径。在Linux系统中,文件路径应该以斜杠(/)开头,而不是以盘符(C:/、D:/等)开头。如果您想要将文件上传到Linux系统中的/root/project/upload/目录下,可以在配置文件中将file.root.path配置为/root/project/upload/,然后在上传文件的类中使用该路径即可。以下是一个示例代码:
引用:
文件上传的路径可以在application的配置文件中配置和获取,当文件上传到本地时,此时文件是不允许直接访问的。需要在spring boot中添加配置类(配置文件的路径是file.root.path=/root/project/upload/)。
@SuppressWarnings("deprecation")
@Configuration
public class MyWebAppConfigurer extends WebMvcConfigurerAdapter {
@Value("${file.root.path}")
private String path;
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/upload/**").addResourceLocations("file:"+path);
super.addResourceHandlers(registry);
}
}
引用:
上传文件的类:
public String checkPic(MultipartFile file,HttpServletRequest request) {
String originalFilename = file.getOriginalFilename();// 获取文件名
String extension = FilenameUtils.getExtension(originalFilename);// 获取文件的后缀
File folder = new File(path);
if (!folder.exists()) {
folder.mkdirs();
}
File f1 = new File(path + originalFilename);
try {
FileOutputStream out = new FileOutputStream(f1);
out.write(file.getBytes());
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
阅读全文