在 primefaces 3 和 jsf 中,我上传了文件,但在目标位置没有显示图像

Posted

技术标签:

【中文标题】在 primefaces 3 和 jsf 中,我上传了文件,但在目标位置没有显示图像【英文标题】:in primefaces 3 and jsf i upload the file but in destination place the image is not show 【发布时间】:2014-06-17 15:58:33 【问题描述】:

我使用简单模式,glassfish 3.0 和 primefaces 3.0

支持豆

私有 UploadedFile 文件; 私有字符串目的地="D:\temp\";

公共无效上传(FleUploadEvent 事件)

    System.out.println("upload");
    FacesMessage msg = new FacesMessage("Success! ", event.getFile().getFileName() + " is uploaded.");  
    FacesContext.getCurrentInstance().addMessage(null, msg);
        try  
        copyFile(event.getFile().getFileName(), event.getFile().getInputstream());
            
     catch (IOException e)
    
        e.printStackTrace();
    
  
    System.out.println("uploaf finished"); 

public void copyFile(String fileName, InputStream in) 试试

           // write the inputStream to a FileOutputStream
            OutputStream out = new FileOutputStream(new File(destination + fileName));

         int read = 0;
       byte[] bytes = new byte[1024];

        while ((read = in.read(bytes)) != -1) 
             out.write(bytes, 0, read);
         

         in.close();
       out.flush();
         out.close();

    System.out.println("New file created!");
         catch (IOException e) 
      System.out.println(e.getMessage());
      

这是我的 jsf 页面

【问题讨论】:

请帮助任何人解决它没有在目的地显示的图像 显示以下消息未生成任何异常或错误仅简单消息“D:\tmp\C:\Users\admin\Desktop\ulcerimage.jpg(文件名、目录名或卷标语法不正确)" 我正在使用上面相同的代码,所以请告诉我在目标位置文件尚未上传 有您的文件字段设置器和获取器方法吗?可能会帮助您关注以下链接:***.com/questions/14211843/how-to-save-uploaded-file/… 和 ***.com/questions/18664579/… 先生,我在 jsf 页面中使用 上面链接中的这些代码我无法设置到目的地 【参考方案1】:

在您的示例中,“D:\tmp\”后面是上传文件的完整文件名,即“C:\Users\admin\Desktop\ulcerimage.jpg”。 这是不正确的并导致错误。 您需要做的就是处理上传的文件名:提取没有路径信息的实际名称。 例如,您可以使用以下内容:

if (fileName.indexOf("/")>0)
  fileName = fileName.substring(fileName.lastIndexOf("/"));

OutputStream out = new FileOutputStream(new File(destination + fileName));

在copyFile方法中。

【讨论】:

Gennady Nikolaev 先生,我正在尝试您定义的上述代码,但我没有在目标位置显示图像 我不确定我是否完全理解您的意思。不显示 - 你的意思是目的地没有图像?出现一些例外情况? Gennady Nikolaev 先生,我发现我的问题是浏览器问题,我使用的是 IE11 浏览器,它在 mozila 和 IE9、IE10 中运行良好,所以谢谢先生 这些图像显示在目标位置 TEMP 文件夹中,但是如何在我的 sql 数据库中显示这些图像,我使用的是 mysql 5.0,请帮助任何人 这些图片在 IE10 浏览器上上传,但在 IE9 浏览器中没有上传,请帮助我卡在这里

以上是关于在 primefaces 3 和 jsf 中,我上传了文件,但在目标位置没有显示图像的主要内容,如果未能解决你的问题,请参考以下文章

使用 JSF2.0 和 Primefaces 3.4 进行导航

jsf+primefaces开发配置

与 primefaces 集成时无法加载 jsf.page

Primefaces FileUpload 与 PrettyFaces 和 JSF 2.2.3

JSF PrimeFaces 简单示例:仅空白页

在 JSF 中使用 Primefaces 和 Bootstrap