axis2 form upload file 异常 Invalid UTF-8 middle byte
来源:互联网 发布:java 文件夹复制 覆盖 编辑:程序博客网 时间:2024/06/06 00:05
axis2 webservice 用form 表单文件上传出现如下异常
java.io.CharConversionException: Invalid UTF-8 middle byte 0x2 (at char #349, byte #-1)com.ctc.wstx.io.UTF8Reader.reportInvalidOther(UTF8Reader.java:313)com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:204)com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:84)com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:57)com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:992)com.ctc.wstx.sr.StreamScanner.getNext(StreamScanner.java:763)com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:1995)com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1069)org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.next(XMLStreamReaderWrapper.java:225)org.apache.axiom.util.stax.dialect.DisallowDoctypeDeclStreamReaderWrapper.next(DisallowDoctypeDeclStreamReaderWrapper.java:34)org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.next(XMLStreamReaderWrapper.java:225)org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:668)org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:214)org.apache.axiom.om.impl.llom.OMDocumentImpl.buildNext(OMDocumentImpl.java:153)org.apache.axiom.om.impl.llom.OMDocumentImpl.getFirstOMChild(OMDocumentImpl.java:242)org.apache.axiom.om.impl.llom.OMDocumentImpl.getOMDocumentElement(OMDocumentImpl.java:113)org.apache.axiom.om.impl.llom.OMDocumentImpl.getOMDocumentElement(OMDocumentImpl.java:109)org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:570)org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:566)org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:188)org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:145)org.apache.axis2.transport.http.util.RESTUtil.processXMLRequest(RESTUtil.java:65)org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processXMLRequest(AxisServlet.java:826)org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:227)javax.servlet.http.HttpServlet.service(HttpServlet.java:641)javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
解决:在WEB-INF目录下添加conf目录增加配置文件axis2.xml,axis2-1.6.2-war.zip文件war包WEB-INF目录下有此文件复制过来即可。
form.html文件内容如下:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>REST Example - FileUpload</title></head><body> <h1>FileUpload</h1> <form name="form" method="post" enctype="multipart/form-data" action="./services/lims/upload"> <table> <tr> <th align="left">file name</th> <td><input type="text" id="fileName" name="fileName" /></td> </tr> <tr> <th align="left">upload file</th> <td><input type="file" id="uploadfile" name="uploadfile" /></td> </tr> </table>
<br> <input type="submit" id="doUpload" name="doUpload" value="OK" /> </form></body></html>
处理上传文件方法如下:
public void upload(String fileName, DataHandler uploadfile) { output(fileName, uploadfile); }
private void output(String fileName, DataHandler dataHandler) { try { File outFile = new File("d://DataHandler.jpg"); FileOutputStream fileOutputStream = new FileOutputStream(outFile); imagefile.writeTo(fileOutputStream); fileOutputStream.flush(); fileOutputStream.close(); } catch (IOException e) { e.printStackTrace(); }
}
============================
另:附博文 http://jiangnan2112.iteye.com/blog/794177
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 middle byte 0xfa (at char #193, byte #127)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:488)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:431)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
com.adtech.libraryunion.filter.LoginFilter.doFilter(LoginFilter.java:54)
原因:调用接口的文件的编码方式不是UTF-8 解决:用记事本打开调用的文件,另存为UTF-8格式即可解决
- axis2 form upload file 异常 Invalid UTF-8 middle byte
- Invalid byte 2 of 2-byte UTF-8 sequence.异常
- “invalid byte 1 of 1-byte UTF-8 sequence”异常
- com.fasterxml.jackson.core.JsonParseException: Invalid UTF-8 middle byte 0xc9
- dom4j操作XML出现异常Invalid byte 1 of 1-byte UTF-8 sequence. Nested exception: Invalid byte 1 of
- Bad file:invalid byte 1 of 1-byte UTF-8 sequence
- Dom4j中文异常处理:Invalid byte 2 of 2-byte UTF-8 sequence
- xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence
- sax 解析 xml异常 Invalid byte 2 of 2-byte UTF-8 sequence
- xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence
- 异常 Invalid byte 3 of 3-byte UTF-8 sequence 处理解决
- xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence
- xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence
- xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence
- Invalid byte 1 of 1-byte UTF-8 sequence异常以及解决办法
- Dom4j中文异常处理:Invalid byte 2 of 2-byte UTF-8 sequence
- xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence
- xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence
- js匿名函数和闭包
- centos安装hadoop注意
- Android Loader详解
- 一个C/C++结构体初始化有趣的现象
- Flex开源项目集锦(flex开发必看)
- axis2 form upload file 异常 Invalid UTF-8 middle byte
- syslog-ng安装和使用
- 用C++实现HTTP服务器 - 处理完成端口模型(IOCP)的超时问题
- Spring AOP @AspectJ 入门实例
- USB摄像头图片采集+QT显示(二)
- CUDA Optimization tips
- codesmith无法连接Mysql的解决方法
- android基础篇------------java基础(2) (运算符的种类)
- java并发之BlockingQueue和Lock以及synchronized