JSF:我如何将流保存为webapp外的文件,以及如何在部署为war时访问它



我有几个问题。

  1. 我正在使用以下代码将流写入文件。我想写到外部的webapp容器,因为在重新部署所有的文件将被删除。

                InputStream in = event.getFile().getInputstream();    
                OutputStream out = new FileOutputStream(path + fName);
    
                byte[] buf = new byte[1024];
                int len;
                while ((len = in.read(buf)) > 0) {
                    out.write(buf, 0, len);
                }
    
  2. 我不知道我们是否可以通过facesContext的externalContext实现这一点。

  3. 如何访问?例如,如果我必须这样使用它,我必须使用哪个路径?

    EmailAttachment attachment = new EmailAttachment(); attachment.setPath("mypictures/john.jpg");

你做的一切都是对的。使用(例如)tmp用户目录写入该文件(System.getProperty("user.tmp.dir"))。要访问该文件,请使用FileInputStream,方法与使用FileOutputStream完全相同。

最新更新