在我将在本地运行的Spring Boot应用程序中,用户需要能够将照片从操作系统拖动到网页中并显示它们。操作系统上文件的路径可以在启动时设置:
@SpringBootApplication
public class UploaderApplication extends WebMvcConfigurerAdapter {
private String workingDir = "/Users/example/Desktop/";
public static void main(String[] args) {
SpringApplication.run(UploaderApplication.class, args);
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/dir/**")
.addResourceLocations("file://" + workingDir)
.setCachePeriod(0);
System.out.println(workingDir);
}
但是我需要让用户能够在应用程序运行后更新文件来自的目录,因为在应用程序启动时并不总是知道绝对路径。如果我使用用户输入的新工作目录路径从浏览器发送GET请求,我该如何更新注册表?
谢谢。
答案 0 :(得分:0)
这就是我决定解决它的方法。用户可以填写表单以使用将要从中上载的目录更新数据库。当应用程序加载时,它获取目录列表并为它们创建标识符,然后可以在html中使用。
@SpringBootApplication
public class boxApplication extends WebMvcConfigurerAdapter {
@Autowired private TemplateRepository templateRepository;
public static void main(String[] args) {
SpringApplication.run(boxApplication.class, args);
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
Template template = templateRepository.findById(1);
for (UploadDirectory local: template.getLocalDirectories()){
registry.addResourceHandler("/dir" + local.getId() + "/**")
.addResourceLocations("file://" + local.getDirectory())
.setCachePeriod(0);
}
}
}