Spring Boot中的绝对路径

时间:2017-08-20 23:45:45

标签: web-services spring-boot file-upload upload image-uploading

我正在使用Spring Boot,我为照片上传创建了一个Web服务。 为了保存文件,我使用绝对路径“/ uploads”,但它表示该位置不存在,所以我使用java路径处理,src / ... 在本地服务器中,它运行良好,但在heroku服务器上托管后,图像无法上传。添加元素后,图片的src不存在。

这是网络服务:

//image /////////////////////////////////////////////////////////////////////
private final Logger log = LoggerFactory.getLogger(this.getClass());
@PostMapping("/")
@RequestMapping(value="/transfererImage", method = RequestMethod.POST)
public void transfererImage(@RequestParam("file") MultipartFile file, @RequestParam("nom") String nom) throws Exception{
    String nomFichier="";
    try {
        nomFichier = nom;
        byte[] bytes = file.getBytes();
        ClassLoader classLoader = getClass().getClassLoader();
        BufferedOutputStream bufferedOutputStream = new BufferedOutputStream (new FileOutputStream(new File("src/main/resources/static/images/"+nomFichier)));
        bufferedOutputStream.write(bytes);
        bufferedOutputStream.close();



    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        log.info("une erreur est produite lors de la lecture de fichier"+ nomFichier);
    }

}

谢谢

1 个答案:

答案 0 :(得分:0)

我通过使用以下Java指令解决了此问题:

System.getProperty("user.dir"))

此方法为静态方法,将文件夹返回到“ src”文件夹所在的执行程序计算机中。这表示项目的根文件夹。

该解决方案由Java提供,而不是Spring本身。

谢谢。