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

QQ登录

只需一步,快速开始

查看: 8215|回复: 13

[结贴] 从文档中心删除文件后,物理文件会删除吗?

[复制链接]

56

主题

233

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
发表于 2014-10-14 10:53:20 | 显示全部楼层 |阅读模式
版本: X5.2.7 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
从文档中心删除文件后,以及业务附件中的文件也删除了,\data\doc\blobstore 中的物理文件会删除吗?这个需不需要关心,如果没删除,怎么处理这部分垃圾文件?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35932
发表于 2014-10-14 11:34:29 | 显示全部楼层
默认是逻辑删除,不会删除物理文件
这样就物理文件就会一直存在,如果需要物理删除参考http://bbs.justep.com/forum.php? ... 7&pid=164998470
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

56

主题

233

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
 楼主| 发表于 2014-10-28 22:40:10 | 显示全部楼层
本帖最后由 cactus78 于 2014-10-28 22:42 编辑

有两个问题:
第一:如果前期我没有物理删除附件,而且是从业务模块和文档中心都删除了该文档,还能有办法找到这些垃圾文件并将其删除吗?

第二:假如我用attachmentDialog2,如果我要物理删除附件,我想肯定不能在attachmentDialog2窗口点击“删除”时进行物理删除,因为如果不点业务模块中的“保存”,而点“刷新”的话这个文件还能正常存在。
附件删除.jpg

那么我想应该是在后台保存这个概念时进行删除,如果这样,我想是不是应该在saveXxxAction中遍历table的记录状态,如果是delete就把这条记录的所有文档删除。如果是修改,就要比较保存附件的这个字段(关系),如果相同说明修改的其他字段,如果不同还要判断是减少了还是增加了。比如我把上图的“风险.docx”删了,有上传了一个叫“风险评估.docx”的文档,那么我应该怎么判断 并物理删除那个叫“风险.docx”的文档?


[{"docName":"风险.docx","docID":"C657516B39200001581D1E0043101803","docPath":"/root/a7519eac-6749-4e27-b94d-06085ff7a4cc/1f31662e-d265-4c0b-96e5-4ab93d2a11ce/d00ce483-f7ae-48d9-b54c-5c9aa5db595d/727eee1e-2955-4e22-abfc-6ca64cca07cd/51484384-dcb4-499a-95b1-10f9e7f879a7","fileID":"226-root","size":"16065"},

{"docName":"创建数据库语句-oracle.sql","docID":"C65BFBE59D300001F9C21B57F6807D90","docPath":"/root/a7519eac-6749-4e27-b94d-06085ff7a4cc/1f31662e-d265-4c0b-96e5-4ab93d2a11ce/d00ce483-f7ae-48d9-b54c-5c9aa5db595d","fileID":"229-root","size":"2179"}]

另外,就是怎么把字段保存的Json转换成Doc对象?刚才我试了一下,我这个里面没有com.justep.doc这个包及下面的类,也没办法引入这个包,是缺文件吗?





回复 支持 反对

使用道具 举报

56

主题

233

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
 楼主| 发表于 2014-10-28 22:53:34 | 显示全部楼层
要把SA/doc/logic/code/src设为源码路径就有了,可是DocUtils.java这个累报错在这行:

import javax.servlet.http.Cookie;

提示“无法解析导入javax.servlet”
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35932
发表于 2014-10-29 10:07:24 | 显示全部楼层
cactus78 发表于 2014-10-28 22:40
有两个问题:
第一:如果前期我没有物理删除附件,而且是从业务模块和文档中心都删除了该文档,还能有办法 ...

1.从业务模块和文档中心都删除了该文档这时候是逻辑删除,所以sa_docNode表中的数据是没有删除的只是把sflag的值改为0,如果要物理删除可以先把状态值改为1,然后再物理删除

2.可以在附件删除后,可以在data的valueChanged事件中判断是不是附件这个关系发生了改变然后调用data的saveData()
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35932
发表于 2014-10-29 10:08:13 | 显示全部楼层
cactus78 发表于 2014-10-28 22:53
要把SA/doc/logic/code/src设为源码路径就有了,可是DocUtils.java这个累报错在这行:

import javax.servl ...

把apache-tomcat\lib\servlet-api.jar加入构建路径
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

56

主题

233

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
 楼主| 发表于 2014-10-29 11:39:39 | 显示全部楼层
jishuang 发表于 2014-10-29 10:08
把apache-tomcat\lib\servlet-api.jar加入构建路径

构建路径的问题解决了,谢谢。
回复 支持 反对

使用道具 举报

56

主题

233

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
 楼主| 发表于 2014-10-29 12:03:47 | 显示全部楼层
jishuang 发表于 2014-10-29 10:07
1.从业务模块和文档中心都删除了该文档这时候是逻辑删除,所以sa_docNode表中的数据是没有删除的只是把sf ...

还有几个问题,
1、如果把sFlag改成1了,这个文档就会在文档中心出现,那么我要物理删除这个文件,是要修改文档中心的相关页面或ontology文件吗?如果这样对于我这个初学者怕对系统稳定造成影响,如果自己写思路应该怎么做呢?

2、我怎么在后台把附件中存的字符串[{...},{...},{...}],转成Doc对象?还是直接Doc doc = (Doc)row.getValue("...");
回复 支持 反对

使用道具 举报

310

主题

4938

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
QQ
发表于 2014-10-29 12:52:08 | 显示全部楼层
1.系统的代码最好不要改,你可以重新做一个跟文档中心功能差不多的页面,改写删除代码,删除数据库数据的同时删除磁盘上的文件

1.数据库中存的是json格式,你可以先从字符串里获取docID,再通过query方法获取doc对象
如何获取docID参考http://bbs.justep.com/forum.php?mod=viewthread&tid=48455
通过query方法获取doc对象参考http://bbs.justep.com/thread-40457-1-1.html

评分

参与人数 1 +4 收起 理由
jishuang + 4 赞一个!

查看全部评分

QQ:179785966
回复 支持 反对

使用道具 举报

56

主题

233

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
 楼主| 发表于 2014-10-29 13:18:03 | 显示全部楼层
yinlun 发表于 2014-10-29 12:52
1.系统的代码最好不要改,你可以重新做一个跟文档中心功能差不多的页面,改写删除代码,删除数据库数据的同 ...

谢谢,就是这个意思。

还有个小问题,就是我怎么能用数据库中的信息,找到磁盘中存的那个物理文件?我想验证一下是不是真的删除了,视频中那个根据文件大小猜,实在是有点...
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 12:24 , Processed in 0.103018 second(s), 32 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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