Hibernate IE9中的jsf文件上载问题
我将jsf2.0与primefaces一起使用。。在我的应用程序中,我有图像上传选项。文件上传在除IE9之外的所有浏览器中都可以正常工作。。当我尝试在IE9上上传文件时,我没有得到上传,我得到了以下错误 堆栈跟踪Hibernate IE9中的jsf文件上载问题,hibernate,file-upload,jsf-2,primefaces,Hibernate,File Upload,Jsf 2,Primefaces,我将jsf2.0与primefaces一起使用。。在我的应用程序中,我有图像上传选项。文件上传在除IE9之外的所有浏览器中都可以正常工作。。当我尝试在IE9上上传文件时,我没有得到上传,我得到了以下错误 堆栈跟踪 java.io.FileNotFoundException: D:\Eclipse_wspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ChennaiVolunteer\activityPhoto\
java.io.FileNotFoundException: D:\Eclipse_wspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ChennaiVolunteer\activityPhoto\C:\Users\Public\Pictures\Sample Pictures\Desert.jpg (The filename, directory name, or volume label syntax is incorrect)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(Unknown Source)
at javax.imageio.stream.FileImageOutputStream.<init>(Unknown Source)
at com.sun.imageio.spi.FileImageOutputStreamSpi.createOutputStreamInstance(Unknown Source)
at javax.imageio.ImageIO.createImageOutputStream(Unknown Source)
at javax.imageio.ImageIO.write(Unknown Source)
at com.chennaivolunteer.photo.upload.PhotoUploadAction.handleImage(PhotoUploadAction.java:188)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
at org.apache.myfaces.view.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:83)
at org.primefaces.component.fileupload.FileUpload.broadcast(FileUpload.java:298)
at javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:937)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:269)
at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1249)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:682)
at org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:34)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:185)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:151)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:269)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Aug 8, 2012 2:24:16 PM org.apache.catalina.core.StandardWrapperValve invoke
java.io.FileNotFoundException:D:\Eclipse\u wspace\.metadata\.plugins\org.Eclipse.wst.server.core\tmp0\wtpwebapps\chennai志愿者\activitypto\C:\Users\Public\Pictures\Sample Pictures\dest.jpg(文件名、目录名或卷标语法不正确)
位于java.io.RandomAccessFile.open(本机方法)
位于java.io.RandomAccessFile。(未知源)
位于javax.imageio.stream.FileImageOutputStream。(未知源)
位于com.sun.imageio.spi.FileImageOutputStreamSpi.createOutputStreamInstance(未知源)
在javax.imageio.imageio.createImageOutputStream(未知源)
在javax.imageio.imageio.write(未知源)
在com.chennai.photo.upload.PhotoUploadAction.handleImage上(PhotoUploadAction.java:188)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源)
位于java.lang.reflect.Method.invoke(未知源)
位于org.apache.el.parser.AstValue.invoke(AstValue.java:262)
位于org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
位于org.apache.myfaces.view.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:83)
位于org.primefaces.component.fileupload.fileupload.broadcast(fileupload.java:298)
位于javax.faces.component.UIViewRoot.\u broadcastAll(UIViewRoot.java:937)
位于javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:269)
位于javax.faces.component.UIViewRoot.\u进程(UIViewRoot.java:1249)
位于javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:682)
位于org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:34)
位于org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
位于org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
位于javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
位于org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:77)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:185)
位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:151)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
位于org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
位于org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:269)
位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
位于org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
位于java.util.concurrent.ThreadPoolExecutor$Worker.runTask(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
位于java.lang.Thread.run(未知源)
2012年8月8日下午2:24:16 org.apache.catalina.core.StandardWrapper
硒
我的image.xhtml是
<f:view>
<h:form enctype="multipart/form-data">
<p:panel header="Event Images" style="font-size:12px;height:499px">
<h:inputHidden value="#{photoUploadAction.aid}"></h:inputHidden>
<p:messages id="messages" for="imaload"></p:messages>
<p:fileUpload id="imaload" fileUploadListener="#{photoUploadAction.handleImage}"
mode="advanced" multiple="true"
update="messages"
immediate="true"
allowTypes="/(\.|\/)(gif|jpe?g|png)$/"/>
<!-- <p:growl life="1000" id="messages"/> -->
</p:panel>
</h:form>
</f:view>
我的支持bean方法是
public void handleImage(FileUploadEvent event) throws IOException {
BufferedImage bufferedImage;
// setAid(getAid());
String tmpFile = scontext.getRealPath(("/activityPhoto/")
+ event.getFile().getFileName());
//File realPath = new File("e:/cv_project/ChennaiVolunteer/WebContent/activityPhoto",(event.getFile().getFileName()));
File realPath = new File("d:/Program Files (x86)/Apache Software Foundation/Tomcat 7.0/webapps/ChennaiVolunteer/activityPhoto",(event.getFile().getFileName()));
String filName = realPath.toString();
/*File result = new File(tmpFile);
String exactPath = result.toString();
*/
byte[] imageByte = event.getFile().getContents();
boolean flag = false;
//storeImage(imageByte, tmpFile);
String images = event.getFile().getFileName();
photoUploadVO.setImageName(images);
imageName = photoUploadVO.getImageName();
if (loginBean.getType().equals("admin")
|| loginBean.getType().equals("ngo_coordinator")
|| loginBean.getType().equals("ngo")) {
if (ngoPojo.getNgo_id() != 0) {
photoUploadVO.setUsrId(ngoPojo.getNgo_id());
photoUploadVO.setPhotoStatus("valid");
photoUploadVO.setReasonForReject("pending");
photoUploadVO.setUser_type(ngoPojo.getType());
} else {
photoUploadVO.setUsrId(loginBean.getUser_id());
photoUploadVO.setPhotoStatus("valid");
photoUploadVO.setReasonForReject("pending");
photoUploadVO.setUser_type(loginBean.getType());
}
} else {
photoUploadVO.setUsrId(loginBean.getUser_id());
photoUploadVO.setPhotoStatus("pending");
photoUploadVO.setReasonForReject("pending");
photoUploadVO.setUser_type(loginBean.getType());
}
photoUploadVO.setCreated_by(loginBean.getEmail());
photoUploadVO.setCreatedDate(new Date());
photoUploadVO.setPhoto_path(tmpFile);
InputStream in = new ByteArrayInputStream(imageByte);
// photoUploadVO.setUsrId(loginBean.getUser_id());
// photoUploadVO.setActivityId(getAid());
bufferedImage = ImageIO.read(in);
if (bufferedImage.getWidth() <= 400 && bufferedImage.getHeight() <= 400) {
photoUploadVO.setDisabled("false");
getMthd(imageByte, tmpFile);
} else {
try {
photoUploadVO.setDisabled("false");
//BufferedImage image = ImageIO.read(in);
ImageIO.write(resize(bufferedImage, 400, 400), "jpg", new File(tmpFile));
flag = photoUploadDaoService.uploadPhotos(photoUploadVO);
// profileImageService.uploadPhotos(profileImageBean);
if (flag == true) {
FacesMessage msg=null;
if(loginBean.getType().equals("admin")) {
msg = new FacesMessage("Successfully Uploaded");
}
if(!loginBean.getType().equals("admin")) {
msg = new FacesMessage("Successfully Uploaded(After administrator approve your photos will display on portal)");
}
FacesContext.getCurrentInstance().addMessage(null, msg);
} else {
FacesMessage msg = new FacesMessage("Failure", event
.getFile().getFileName() + " to uploaded.");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
} catch (IOException e) {
e.printStackTrace();
FacesMessage error = new FacesMessage(
FacesMessage.SEVERITY_ERROR,
"The files were not uploaded!", "");
FacesContext.getCurrentInstance().addMessage(null, error);
}
}
}
public void handleImage(FileUploadEvent事件)引发IOException{
BuffereImage BuffereImage;
//setAid(getAid());
字符串tmpFile=scontext.getRealPath((“/activitypto/”)
+event.getFile().getFileName());
//File realPath=新文件(“e:/cv_project/chennai志愿者/WebContent/activitypto”,(event.getFile().getFileName());
File realPath=新文件(“d:/Program Files(x86)/Apache软件基金会/Tomcat 7.0/webapps/chennai志愿者/activitypto”,(event.getFile().getFileName());
字符串filName=realPath.toString();
/*文件结果=新文件(tmpFile);
字符串exactPath=result.toString();
*/
byte[]imageByte=event.getFile().getContents();
布尔标志=假;
//storeImage(imageByte,tmpFile);
字符串图像=event.getFile().getFileName();
photoUploadVO.setImageName(图像);
imageName=photoUploadVO.getImageName();
if(loginBean.getType().equals(“admin”)
||loginBean.getType().equals(“ngo_协调员”)
||loginBean.getType().equals(“ngo”)){
如果(ngoPojo.getNgo_id()!=0){
photoUploadVO.setUsrId(ngoPojo.getNgo_id());
photoUploadVO.setPhotoStatus(“有效”);
photoUploadVO.setReasonForReject(“待定”);
photoUploadVO.setUser_类型(ngoPojo.getType());
}否则{
photoUploadVO.setUsrId(loginBean.getUser_id());
photoUploadVO.setPhotoStatus(“有效”);
photoUploadVO.setReasonForReject(“待定”);
photoUploadVO.setUser_类型(loginBean.getType());
}
}否则{
photoUploadVO.setUsrId(loginBean.getUser_id());
photoUploadVO.setPhotoStatus(“待定”);
photoUploadVO.setReasonForReject(“待定”);
photoUploadVO.setUser_类型(日志
String filename = FilenameUtils.getName(event.getFile().getFileName()));
// ...