在webapp中创建文件夹并在其中保存图像

时间:2014-01-21 04:56:49

标签: java tomcat primefaces

朋友你好,

我有以下代码将图像上传到我的WebApp文件夹WebContent - > images - > menuitemimg

    private String doUploadFile(String menuItemName,Long menuItemId){
        FacesContext facesContext = FacesContext.getCurrentInstance();
        ExternalContext externalContext = facesContext.getExternalContext();
        InputStream inputStream = null;
        OutputStream out = null;
        String imageName = null;
        try{
            String dirPath = externalContext.getRealPath(File.separator+"images"+File.separator+"menuitemimg");
            File targetFolder = new File(dirPath);
            targetFolder.mkdirs();
            imageName = file.getFileName();
            imageName = menuItemName+"_"+menuItemId+"."+FilenameUtils.getExtension(imageName);
            inputStream = file.getInputstream();
            out = new FileOutputStream(new File(targetFolder+File.separator+imageName));
            int read = 0;
            byte[] bytes = new byte[1024];
            while ((read = inputStream.read(bytes)) != -1) {
                out.write(bytes, 0, read);
            }
            inputStream.close();
            out.flush();
            out.close();
        }catch(Exception e){
            e.printStackTrace();
        }
        return imageName;
}

代码工作正常。但是当我重新启动服务器时,在menuitemimg文件夹中上传的图像就会消失。我不想将图像存储在光盘或数据库中。所以我想做什么。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我查看了你的代码,看来你正在将图像存储在项目文件夹本身中。 我建议您将图片上传到容器外的其他位置。