如何在春天将图像上传到/ src / main / webapp / Theme / img文件夹

时间:2016-04-19 09:34:36

标签: java spring spring-mvc

我正在尝试将jpeg图像上传到/ src / main / webapp / Theme / img文件夹中的spring模块。

这是我的测试代码:

 @RequestMapping(value="/uploadLogo", method=RequestMethod.POST)
        public ModelAndView uploadLogo(
                @RequestParam("file") MultipartFile file,Principal principal,HttpServletRequest request){
              ModelAndView model =null;
            if (!file.isEmpty()) {
                try {

                    byte[] bytes = file.getBytes();

                   String webappRoot = File.separator+"pl4sms";
        String relativeFolder = File.separator + "src"+ File.separator+"main"+ File.separator+"webapp" +  File.separator
                                 + "Theme2"+ File.separator+"img" +  File.separator;
        String filename = webappRoot + relativeFolder
                           + "1234.jpg";
                    BufferedOutputStream stream =
                            new BufferedOutputStream(new FileOutputStream(new File(filename)));
                    stream.write(bytes);
                    stream.close();





            } catch(Exception e){
                e.printStackTrace();
            }
            }else{
//              
            }
            return model;

        }

这给了我以下错误:

java.io.FileNotFoundException: \pl4sms\src\main\webapp\Theme2\img\1234.jpg (The system cannot find the path specified)

即使我尝试提供完整路径:

  BufferedOutputStream stream =
                new BufferedOutputStream(new FileOutputStream(new File("/pl4sms/src/main/webapp/Theme2/img/1234.jpg")));

仍然会出现同样的错误。

我已经尝试了这些链接上提供的所有选项:

http://stackoverflow.com/questions/20720250/upload-image-to-folder-in-spring-mvc
http://stackoverflow.com/questions/25550875/how-to-upload-image-inside-webapp-folder
http://stackoverflow.com/questions/31515391/how-to-upload-image-file-to-spring-mvc-resource-folder

但没有任何对我有用。

请建议我如何解决这个问题

1 个答案:

答案 0 :(得分:1)

这并没有回答你的问题,但解决这个问题,我厌倦了解决同样的问题。

您无法将文件上传到项目文件夹。您可以将其上传到任何其他位置。我试图解决同样问题的解决方案是创建一个文件夹,其位置将在系统主路径,即 ::我在ubuntu系统上托管我的服务

(/家/ ubuntu的/ yourFolderName)

授予此文件夹权限,以便您的代码可以访问此文件夹。然后将您的文件写入此文件夹。