如何将图像文件上传到spring mvc资源文件夹

时间:2015-07-20 11:31:43

标签: java spring spring-mvc

我正在开发一个spring mvc项目。我想上传图片并将其保存到resources / img /文件夹。

我尝试了下面的代码,但它没有将图像保存到目录中。

@Autowired
    private HttpServletRequest request;
    try {
            // MultipartFile file = uploadItem.getFileData();
            String fileName = null;
            InputStream inputStream = null;
            OutputStream outputStream = null;
            if (multipartFile.getSize() > 0) {
                inputStream = multipartFile.getInputStream();

                System.out.println("File Size:::" + multipartFile.getSize());

                fileName = request.getSession().getServletContext().getRealPath("/resources/") + "/students/"
                        + multipartFile.getOriginalFilename();
                outputStream = new FileOutputStream(fileName);
                System.out.println("OriginalFilename:" + multipartFile.getOriginalFilename());
                System.out.println("fileName----"+fileName);
                int readBytes = 0;
                byte[] buffer = new byte[10000];
                while ((readBytes = inputStream.read(buffer, 0, 10000)) != -1) {
                    outputStream.write(buffer, 0, readBytes);
                }
                outputStream.close();
                inputStream.close();
            }

        } catch (Exception e) {
            e.printStackTrace();
        }

异常

11:00:39,436 INFO  [stdout] (http--0.0.0.0-8080-5) File Size:::7346
11:00:39,436 ERROR [stderr] (http--0.0.0.0-8080-5) java.io.FileNotFoundException
: C:\jboss-as-7.1.1.Final\standalone\tmp\vfs\deployment65ea7dd580659db3\ObviousR
esponseWeb-1.2-SNAPSHOT.war-3a7509e73dad1cba\resources\students\zzzz.jpg (The sy
stem cannot find the path specified)

1 个答案:

答案 0 :(得分:2)

   String saveDirectory=request.getSession().getServletContext().getRealPath("/")+"images\\";//to save to images folder
   String fileName = multipartFile.getOriginalFilename();//getting file name
   System.out.println("directory with file name: " + saveDirectory+fileName);
   multipartFile.transferTo(new File(saveDirectory + fileName));