首页 新闻 会员 周边

有什么方式能强制覆盖被word打开的文档

0
悬赏园豆:10 [已解决问题] 解决于 2014-11-07 15:53

业务需求:把本地文件上传到服务端,替换服务端的文件。

我用下述方式去覆盖被word打开的文档的时候,原文档没有被覆盖(先删除目标文件,然后在创建新的文件方式已知。请问大家还有其他什么好的方法,建议)。

 

using (FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)) {
fs.Write(fileData, 0, fileData.Length);
fs.Flush();
fs.Close();
fs.Dispose();
}

千里兰杜的主页 千里兰杜 | 初学一级 | 园豆:65
提问于:2014-10-22 20:14
< >
分享
最佳答案
0

试试先保存在另一个路径下,然后通过File.Copy复制过去进行覆盖

收获园豆:7
dudu | 高人七级 |园豆:31003 | 2014-10-22 20:43
其他回答(3)
0

被占用的文件无法被覆盖。

收获园豆:1
爱编程的大叔 | 园豆:30839 (高人七级) | 2014-10-22 21:36
0

报告什么错误?

不能覆盖的可能有很多,但最常见的有以下两种:

1、没有修改权限。覆盖是一种修改行为,有创建、删除、列表权限,不等于能修改,比如修改权限被禁用了。

2、文档使用中(被打开),这个情况肯定不能被修改,当然有一种可能是因为你上次打开的时候忘记关闭导致的,这个问题就需要你在代码中养成良好的习惯,使用完的对象及时关闭。

收获园豆:1
519740105 | 园豆:5810 (大侠五级) | 2014-10-23 09:21
0

大叔说的对,一般“被占用的文件无法被覆盖。"

不过换个思路试试或许可行,在程序初始化时,试试赋予该程序管理员权限。

收获园豆:1
CaiYongji | 园豆:1267 (小虾三级) | 2014-10-24 14:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册