[英]RichFaces fileUpload unable to invoke listener
對於<rich:fileUpload>
我無法調用listener
。 當我在Firebug控制台中簽入時,我發現它進入了無限的GET
請求循環。
web.xml中:
<context-param>
<param-name>org.richfaces.fileUpload.maxRequestSize</param-name>
<param-value>1000000000</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.fileUpload.createTempFiles</param-name>
<param-value>false</param-value>
</context-param>
的facelet:
<h:form enctype="multipart/form-data">
<rich:fileUpload fileUploadListener="#{fileUploadController.listener}" id="upload" acceptedTypes="jpg, gif, png, bmp"
ontyperejected="alert('Only JPG, GIF, PNG and BMP files are accepted');" maxFilesQuantity="5">
<a4j:ajax event="uploadcomplete" execute="@none" render="info" />
</rich:fileUpload>
</h:form>
后備豆:
public void listener(FileUploadEvent event) throws Exception{
UploadedFile item = event.getUploadedFile();
uploadFile.setLength(item.getData().length);
uploadFile.setName(item.getName());
uploadFile.setData(item.getData());
writeFile();
}
public void writeFile() {
FileOutputStream fop = null;
File file;
try {
file = new File(fPath + uploadFile.getName());
logger.info(fPath + uploadFile.getName());
fop = new FileOutputStream(file);
if (!file.exists()) {
file.createNewFile();
}
fop.write(uploadFile.getData());
fop.flush();
fop.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fop != null) {
fop.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
我檢查了很多類似的問題,但沒有任何線索!
我正在使用RichFaces版本4.2.2
您可以嘗試從web.xml中刪除以下幾行,以進行修復。
<filter>
<filter-name>Seam Multipart Filter</filter-name>
<filter-class>org.jboss.seam.web.MultipartFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Seam Multipart Filter</filter-name>
<url-pattern>*.seam</url-pattern>
</filter-mapping>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.