起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2989|回复: 10

[处理中5] AttachEditor2组件的上传机制疑问

[复制链接]

3

主题

13

帖子

48

积分

新手上路

Rank: 1

积分
48
QQ
发表于 2014-10-10 21:30:31 | 显示全部楼层 |阅读模式
经过观察,我发现在使用AttachEditor2组件上传较大的数据时,后台在tomcat的目录下连续复制了两次数据的临时副本

首先复制2次

首先复制2次

,然后在studio目录下又复制了一次数据的临时副本,

然后是在blobstore的doc___目录下复制数据的临时副本,这时上传过程才结束;
点击提交后,数据复制到了defaultDocNameSpace_____________目录下。
目前的疑问是
1:上传过程中,数据会被复制4次,时间较长,能否通过某种机制减少复制次数?
2:上传后点击提交,数据又要在后台复制一次,这时浏览器的页面是假死状态,能否把数据的复制改成剪切?
3:在下载数据时,点击下载按钮,弹出另存为窗口,这时如果取消下载,则后台会报一长串错误,这种情况是否是正常状态?

然后又复制一次

然后又复制一次

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35962
发表于 2014-10-11 09:57:06 | 显示全部楼层
你好楼主,这个特性目前版本不支持,已作为产品功能建议提交(内部编号:2014101100039),感谢楼主的支持与配合。
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

3

主题

13

帖子

48

积分

新手上路

Rank: 1

积分
48
QQ
 楼主| 发表于 2014-10-11 18:50:54 | 显示全部楼层
jishuang 发表于 2014-10-11 09:57
你好楼主,这个特性目前版本不支持,已作为产品功能建议提交(内部编号:2014101100039),感谢楼主的支持与 ...

谢谢您的回复,那么关于我的第三个疑问呢?点击附件组件的下载按钮后,弹出下载对话框,这个时候取消下载,或者在下载过程中取消下载,那么后台会报很长串的错误,这个是正常现象吗?需要解决吗?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35962
发表于 2014-10-13 08:58:28 | 显示全部楼层
什么错误?把错误信息发一下,测试未报错
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

3

主题

13

帖子

48

积分

新手上路

Rank: 1

积分
48
QQ
 楼主| 发表于 2014-10-13 19:13:25 | 显示全部楼层
jishuang 发表于 2014-10-13 08:58
什么错误?把错误信息发一下,测试未报错

2014-10-13 19:12:07 发送请求到文档服务器失败,HTTP/1.1 200 OK
javax.servlet.ServletException: java.lang.RuntimeException: 发送请求到文档服务器失败,HTTP/1.1 200 OK
        at com.justep.ui.servlet.MainServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.RuntimeException: 发送请求到文档服务器失败,HTTP/1.1 200 OK
        at com.justep.ui.system.service.doc.DocUtils.downLoadDoc(Unknown Source)
        at com.justep.ui.system.service.doc.DocUtils.service(Unknown Source)
        at UploadDoc.doPost(UploadDoc.java:15)
        at UploadDoc.doGet(UploadDoc.java:11)
        at com.justep.ui.impl.JProcessorImpl.execute(Unknown Source)
        at com.justep.ui.JavaServer.runJava(Unknown Source)
        at com.justep.ui.JavaServer.doJ(Unknown Source)
        at com.justep.ui.JavaServer.service(Native Method)
        ... 14 more
Caused by: ClientAbortException:  java.net.SocketException: Software caused connection abort: socket write error
        at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:358)
        at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432)
        at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347)
        at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:381)
        at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:370)
        at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
        ... 22 more
Caused by: java.net.SocketException: Software caused connection abort: socket write error
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:741)
        at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432)
        at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347)
        at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:765)
        at org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:118)
        at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:574)
        at org.apache.coyote.Response.doWrite(Response.java:560)
        at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353)
        ... 27 more
回复 支持 反对

使用道具 举报

3

主题

13

帖子

48

积分

新手上路

Rank: 1

积分
48
QQ
 楼主| 发表于 2014-10-13 19:13:51 | 显示全部楼层
2014-10-13 19:12:07 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet main-servlet threw exception
java.net.SocketException: Software caused connection abort: socket write error
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:741)
        at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432)
        at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347)
        at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:765)
        at org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:118)
        at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:574)
        at org.apache.coyote.Response.doWrite(Response.java:560)
        at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353)
        at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432)
        at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347)
        at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:381)
        at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:370)
        at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
        at com.justep.ui.system.service.doc.DocUtils.downLoadDoc(Unknown Source)
        at com.justep.ui.system.service.doc.DocUtils.service(Unknown Source)
        at UploadDoc.doPost(UploadDoc.java:15)
        at UploadDoc.doGet(UploadDoc.java:11)
        at com.justep.ui.impl.JProcessorImpl.execute(Unknown Source)
        at com.justep.ui.JavaServer.runJava(Unknown Source)
        at com.justep.ui.JavaServer.doJ(Unknown Source)
        at com.justep.ui.JavaServer.service(Native Method)
        at com.justep.ui.servlet.MainServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:595)
2014-10-13 19:12:07 org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response
        at org.apache.catalina.connector.Response.getWriter(Response.java:611)
        at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:198)
        at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:112)
        at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125)
        at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118)
        at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:180)
        at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:118)
        at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:77)
        at org.apache.jsp.error_jsp._jspService(error_jsp.java:138)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
        at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:416)
        at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:270)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:595)
2014-10-13 19:12:07 org.apache.catalina.core.StandardHostValve custom
严重: Exception Processing ErrorPage[exceptionType=java.lang.Exception, location=/error.jsp]
org.apache.jasper.JasperException: java.lang.IllegalStateException: getOutputStream() has already been called for this response
        at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:413)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
        at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:416)
        at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:270)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.IllegalStateException: getOutputStream() has already been called for this response
        at org.apache.catalina.connector.Response.getWriter(Response.java:611)
        at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:198)
        at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:112)
        at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125)
        at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118)
        at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:180)
        at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:118)
        at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:77)
        at org.apache.jsp.error_jsp._jspService(error_jsp.java:138)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
        ... 18 more
回复 支持 反对

使用道具 举报

3

主题

13

帖子

48

积分

新手上路

Rank: 1

积分
48
QQ
 楼主| 发表于 2014-10-13 19:15:15 | 显示全部楼层
jishuang 发表于 2014-10-13 08:58
什么错误?把错误信息发一下,测试未报错

错误我分在两个帖子里回复的,一个帖子超出字数限制了
就是点击下载按钮后,弹出了另存为的对话框,这个时候取消,后台就会报错
回复 支持 反对

使用道具 举报

3

主题

13

帖子

48

积分

新手上路

Rank: 1

积分
48
QQ
 楼主| 发表于 2014-10-13 19:17:38 | 显示全部楼层
本帖最后由 xuechao0422 于 2014-10-13 19:39 编辑

版本是X5.2.7,Window7 64位操作系统,浏览器用的chrome,附件200M左右。
弹出另存为对话框以后马上点击取消,后台就会报错,如果是下载过程中取消下载,报的错误也是相同的。我觉得是浏览器的下载工具都有预下载功能了。
下载过程中取消下载的话,报上述错误是正常的吗?谢谢
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35962
发表于 2014-10-14 09:22:06 | 显示全部楼层
chrome浏览器点下载就直接下载了,不会弹出另存为对话框

这个错误是向后台请求数据,在后台返回数据的时候前台已经取消了,导致返回的数据没有接收的地方就报错了,不会影响使用,

你好楼主,您反馈的这个现象通过验证是产品缺陷,我们已提交到产品组(内部编号:2014101400001),感谢楼主的支持与配合。
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

3

主题

13

帖子

48

积分

新手上路

Rank: 1

积分
48
QQ
 楼主| 发表于 2014-10-14 20:25:44 | 显示全部楼层
jishuang 发表于 2014-10-14 09:22
chrome浏览器点下载就直接下载了,不会弹出另存为对话框

这个错误是向后台请求数据,在后台返回数据的时候 ...

chrome浏览器可以在设置里选择是否弹出另存为对话框的,谢谢您的解答!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-6-14 16:26 , Processed in 0.127367 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表