Ошибка HTTP при загрузке .pdf, .doc или .docx. файлы с инструментом загрузки простых лиц - PullRequest
1 голос
/ 29 марта 2011

Со вчерашнего дня я использую инструмент загрузки Primefaces, но сегодня я начал тестировать его с разными расширениями файлов. Мое удивление состояло в том, что единственный файл, который я могу успешно загрузить, - это .txt. Я не понимаю, почему это так. Я видел фрагменты кода в Интернете, и я думаю, что мой код почти такой же. Я что-то упустил?

Здесь немного больше информации:

Это ошибка:

enter image description here

ВНИМАНИЕ: StandardWrapperValve [Faces Servlet]: PWC1406: Servlet.service () для сервлета Faces Servlet выбросил исключение java.io.IOException: Не удалось обработать запрос multipart / form-data. \ uploaded \ upload_3be1503c_12f00f7e117__7ffb_00000007.tmp (система не может найти указанный путь) в org.primefaces.webapp.MultipartRequest.parseRequest (MultipartRequest.java:67) в org.primefaces.webapp.MultipartRequest. (MultipartRequest.java:49)

Это код в JSF

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

  <!-- New Upload tool -->
        <p:fileUpload fileUploadListener="#{uploadController.handleFileUpload}"   
        allowTypes="*.doc;*.docx;*.pdf;*.odt;" description="Text"/>

</h:form>

Это часть кода в управляемом компоненте

            public void handleFileUpload(FileUploadEvent event) {

    uploadedFile = event.getFile();
    String fileName = FilenameUtils.getName(uploadedFile.getFileName());
    String contentType = uploadedFile.getContentType();
    byte[] bytes = uploadedFile.getContents();

    Garbage garbage = new Garbage();
    garbage.setFilename(fileName);
    garbage.setFile(bytes);
    garbage.setDescription("info about the file");
    garbage.setFileType("File extension");
    fileUploaderEJB.uploadGarbage(garbage);

    FacesContext.getCurrentInstance().addMessage(
            null,
            new FacesMessage(String.format(
                    "File '%s' of type '%s' successfully uploaded!",
                    fileName, contentType)));
}

На всякий случай, связанные с простыми числами sutuff в web.xml

<servlet>
<servlet-name>Resource Servlet</servlet-name>
<servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Resource Servlet</servlet-name>
<url-pattern>/primefaces_resource/*</url-pattern>
</servlet-mapping> 
 <filter>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <filter-class>org.primefaces.webapp.filter.FileUploadFilter
    </filter-class>
    <init-param>
        <param-name>uploadDirectory</param-name>
        <param-value>/uploaded</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>

1 Ответ

2 голосов
/ 29 марта 2011

\ uploaded \ upload_3be1503c_12f00f7e117__7ffb_00000007.tmp (система не может найти указанный путь)

Папка /uploaded на том же корневом диске, где установлен ваш веб-сервер, отсутствует. Создайте это.

...