使用p:fileupload primefaces上传文件时出现java.io.FileNotFoundException

时间:2013-04-03 12:09:21

标签: file-upload jsf-2 primefaces

我使用p:fileupload组件上传文件时有时会出现此错误:

    3 avr. 2013 12:02:10 com.sun.faces.renderkit.ClientSideStateHelper doGetState
GRAVE: C:\Users\user\AppData\Local\Temp\upload_62661b9d_13dcf1c54c0__8000_00000270.tmp (Le fichier spécifié est introuvable)
java.io.FileNotFoundException: C:\Users\user\AppData\Local\Temp\upload_62661b9d_13dcf1c54c0__8000_00000270.tmp (Le fichier spécifié est introuvable)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:120)
    at org.apache.commons.fileupload.disk.DiskFileItem.readObject(DiskFileItem.java:719)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)

如果我只上传一个文件,它工作正常,但当我尝试上传更多时,我有这个问题

这是我的代码:

    <h:form  prependId="false" enctype="multipart/form-data">


                <p:fileUpload   mode="advanced" widgetVar="monupload"   auto="true"
                    style="display:none;" id="ajouterUpload" styleClass="monfileupload"
                     fileUploadListener="#{articlesMB.handleFileUpload}"  />
                <p:commandLink id="mylink" onclick="uploaderAjouter();">
                    <h:graphicImage id="Ajouterimage"
                        value="http://localhost:8080/images/without.png" height="48"
                        width="48"  />
                </p:commandLink>

            </h:form>

我还测试了将下面的内容设置为web.xml,但是相同的错误但是使用了新路径:(

     <init-param>
    <param-name>uploadDirectory</param-name>
    <param-value>/Users/primefaces/temp</param-value>
  </init-param>
你知道吗

我认为问题来自操作系统没有?

谢谢

1 个答案:

答案 0 :(得分:0)

uploading multiple files需要多个=“true”。

<p:fileUpload multiple="true" ...>