gpt4 book ai didi

java - 上传 .pdf、.doc 或 .docx 时出现 HTTP 错误。使用 primefaces 上传工具上传文件

转载 作者:行者123 更新时间:2023-11-30 05:04:46 25 4
gpt4 key购买 nike

我从昨天开始使用 Primefaces 上传工具,但今天我开始使用不同的文件扩展名来测试它。让我惊讶的是,我唯一可以成功上传的文件是 .txt 我不明白为什么会这样。我在网上看到了代码片段,我认为我的代码几乎是相同的。我错过了什么吗?

这里有更多信息:

这是错误:

enter image description here

WARNING: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception java.io.IOException: Processing of multipart/form-data request failed. \uploaded\upload_3be1503c_12f00f7e117__7ffb_00000007.tmp (The system cannot find the path specified) at org.primefaces.webapp.MultipartRequest.parseRequest(MultipartRequest.java:67) at 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>

这是托管 bean 的代码的一部分

            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)));
}

以防万一,web.xml 中与 primefaces 相关的内容

<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>

最佳答案

\uploaded\upload_3be1503c_12f00f7e117__7ffb_00000007.tmp (The system cannot find the path specified)

与安装网络服务器的位置相同的根磁盘上的文件夹 /uploaded 丢失。创建它。

关于java - 上传 .pdf、.doc 或 .docx 时出现 HTTP 错误。使用 primefaces 上传工具上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5470714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com