sharepoint 如何防止文件被覆盖?

ckmenx 2011-06-17 01:57:10
请问一下, 如何防止DocLibrary的某一个文件被用户新上传的同名文件覆盖呢?谢谢!

ps:初到CSDN论譠学习,暂时只有20分,请各位见谅
...全文
255 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Erucy 2011-06-22
  • 打赏
  • 举报
回复
1、如果重名,会触发Updating事件,如果不重名会触发Adding事件。所以Updating这个好像没办法作为判断依据。
2、你确定你改的文件正确么?你看一下你的上传页面是否是Update.aspx,有时候用的是UploadEx.aspx(有一种特殊的可能性:文档库是可以任意指定自己的Upload页面的,没准你的文档库被重新指定过了)
3、这俩是一个东西,叫法不一样而已

btw,如果所有地方都不允许覆盖的话,最直接也是最简单的方法就是改Upload和UploadEx页面,就像楼上某人说的,直接把那个checkbox的勾去掉,然后把checkbox隐藏
ckmenx 2011-06-22
  • 打赏
  • 举报
回复
试过大家的建议,但遇到一些问题, 如下:

请问在ItemUpdating内,怎样可以取得新上传的文件名用来跟List内的文件比较?

改写_layouts/Uplo​​ad.aspx后, upload 的页面仍然没有变化....

EvenHandler跟EventReceiver有什么分别,我实在搞不懂,可否给个例子?

谢谢!!
ckmenx 2011-06-18
  • 打赏
  • 举报
回复
先謝過各位,星期一回到公司試試大家提供的方法! :)
Oo云 2011-06-17
  • 打赏
  • 举报
回复
覆盖 是有版本记录的 不用怕
ckmenx 2011-06-17
  • 打赏
  • 举报
回复
谢谢你的回覆!

eventhandler是不是等于eventreceiver? 在eventreceiver的itemadding内的properties.item是null哦。

另外,这个​​需求是因为系统不想用户在不知情的情况下,把其他人的文件覆盖。
GZH4455 2011-06-17
  • 打赏
  • 举报
回复
用EvenHadler可以解决,继承EventReceiver类,在Adding方法呀,判别
Justin-Liu 2011-06-17
  • 打赏
  • 举报
回复
用eventhandler吧
这个需求变态啊,能上传为什么不能替换呢?直接不让他上传了不好吗
alf7927 2011-06-17
  • 打赏
  • 举报
回复
变态,但简单的做法:改写_layouts/Upload.aspx,把“覆盖已有文件"的checkbox给hidden,并设成uncheck...
Justin-Liu 2011-06-17
  • 打赏
  • 举报
回复
不是啊 ItemUpdating里面判断就可以
那里面有item对象应该
ckmenx 2011-06-17
  • 打赏
  • 举报
回复
用户的要求永远是XXX的,哈哈。

楼上的方法会改动整个共享点,而且亦不能强制不能覆盖,有没有别的办法?

有没有方法在ItemAdding时就可以得到上传档案的资料呢?
Co_la 2011-06-17
  • 打赏
  • 举报
回复
我觉得你这个需求不太合理,上传时SharePoint已经提供了选项选择覆盖还是不覆盖(默认覆盖),没必要花费太大精力做这个。

有一个做法是将上传时的覆盖选项默认变为不覆盖,这或许是客户想要的。参见:
http://social.msdn.microsoft.com/forums/en-us/sharepointcustomization/thread/13F0F8F2-E174-4171-946F-F1097BC2E704
ckmenx 2011-06-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yun_liang1028 的回复:]
覆盖 是有版本记录的 不用怕
[/Quote]
我知道是有版本记录,但“防止覆盖”是与用户商讨后得出的结论,请问该怎样做呢?

3,245

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 SharePoint
社区管理员
  • SharePoint社区
  • 霖雨 - LinyuLoveTJ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧