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

QQ登录

只需一步,快速开始

楼主: 王亚龙

[结贴] 怎么根据json值,获取文件在服务器的物理地址

[复制链接]

250

主题

696

帖子

1720

积分

金牌会员

Rank: 6Rank: 6

积分
1720
QQ
 楼主| 发表于 2017-12-4 17:24:27 | 显示全部楼层
jishuang 发表于 2017-12-4 17:22
附件组件直接编辑看看是否可以打开

这个地址是我下载到本地的地址,附件组件可以访问?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36180
发表于 2017-12-4 17:32:48 | 显示全部楼层
文件不是你在附件组件中上传的吗?先看附件组件中操作是否有问题
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

250

主题

696

帖子

1720

积分

金牌会员

Rank: 6Rank: 6

积分
1720
QQ
 楼主| 发表于 2017-12-6 15:03:44 | 显示全部楼层
jishuang 发表于 2017-12-4 17:32
文件不是你在附件组件中上传的吗?先看附件组件中操作是否有问题

我用如下的方法进行下载,如果文档服务上没有这个文件或者其他原因,程序就会卡在查询那里docs.query()。有没有办法先判断服务上是否有这个文件再进行查询下载

System.out.println("开始下载"+System.currentTimeMillis());
                                                                    Docs docs = new Docs();
                                                                    Doc doc = docs.query(null,docPath, null, null, null).get(docID);
                                                                    System.out.println("查询结果是"+doc);
                                                                    doc.download(new FileOutputStream(outPutFile));
                                                                    System.out.println("下载成功"+System.currentTimeMillis());

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36180
发表于 2017-12-6 15:58:44 | 显示全部楼层
如果没有查到文件平台肯定会报错,不会卡死
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

250

主题

696

帖子

1720

积分

金牌会员

Rank: 6Rank: 6

积分
1720
QQ
 楼主| 发表于 2017-12-6 16:05:42 | 显示全部楼层
jishuang 发表于 2017-12-6 15:58
如果没有查到文件平台肯定会报错,不会卡死

会卡很长时间,然后报错。这中间耗费了很多时间。我想要的效果是先判断下服务器上是否有这个文件,有的才执行查询下载。这是报错信息2017-12-6 16:04:28 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet JustepDocFileServlet threw exception
org.outerj.daisy.runtime.DaisyRTException: RepositoryException
        at com.justep.doc.httpconnector.HttpConnector.service(Unknown Source)
        at com.justep.doc.httpconnector.FileServlet.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: org.outerj.daisy.repository.RepositoryException: Problem retrieving blob data.
        at org.outerj.daisy.repository.serverimpl.LocalDocumentStrategy.getBlob(Unknown Source)
        at org.outerj.daisy.repository.commonimpl.PartImpl.getDataStream(Unknown Source)
        at com.justep.doc.httpconnector.handlers.AbstractFileDownloadHandler.download(Unknown Source)
        at com.justep.doc.httpconnector.handlers.FileDownloadHandler.handleRequest(Unknown Source)
        at com.justep.doc.httpconnector.HttpConnector$PathHandler.handle(Unknown Source)
        ... 15 more
Caused by: org.outerj.daisy.blobstore.NonExistingBlobException: Non existing blob name: defaultDocNameSpace_____________attachment20170324742c6c8f2c4f6f435d8b806a62433c48134b4e83
        at org.outerj.daisy.blobstore.impl.FSBlobStore.retrieve(Unknown Source)
        ... 20 more
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36180
发表于 2017-12-6 16:23:51 | 显示全部楼层
这中间耗费了很多时间确认是不是文档服务器没有启动,卡的时间再启动文档服务器
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

250

主题

696

帖子

1720

积分

金牌会员

Rank: 6Rank: 6

积分
1720
QQ
 楼主| 发表于 2017-12-6 16:30:08 | 显示全部楼层
jishuang 发表于 2017-12-6 16:23
这中间耗费了很多时间确认是不是文档服务器没有启动,卡的时间再启动文档服务器 ...

文档服务一直启动着,有没有办法先判断下文件是否存在
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36180
发表于 2017-12-6 16:57:49 | 显示全部楼层
query就是判断,没有单独的API判断

可以在query前和query后输出信息看看输出间隔多少时间
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

250

主题

696

帖子

1720

积分

金牌会员

Rank: 6Rank: 6

积分
1720
QQ
 楼主| 发表于 2017-12-6 17:03:06 | 显示全部楼层
jishuang 发表于 2017-12-6 16:57
query就是判断,没有单独的API判断

可以在query前和query后输出信息看看输出间隔多少时间 ...

query方法正常的数据在1s以内,异常报错的在10s以上。如果用query判断,那query出来什么结果是文档存在,什么结果是文档不存在
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36180
发表于 2017-12-6 17:33:17 | 显示全部楼层
java中断点调试看看Doc是不是空
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-30 07:23 , Processed in 0.066157 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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