通过映射驱动器中的Windows资源管理器打开文件时写入文件更改

时间:2018-11-20 03:26:58

标签: ithit-webdav-server

我正在使用ITHit WebDave引擎实现WebDAV文件服务器,但存在以下问题

当我列出文件并打开其中的一个文件时,我会调用ReadAsync方法,我会提供内容并正确打开文件

但是我对文件所做的任何更改都无法保存,我收到一条错误消息

  

连接到系统的设备不起作用

我查看了文件系统示例,并基于FileSystemStorage.AspNetCore示例实现了支持,

从什么可以理解,在创建新文件时使用WriteAsync方法,我是否期望还需要为需要更改的文件编辑调用WriteAsync?

我以为DavFile.WriteAsync将被用于更新内容的流调用的假设是错误的吗?

如果WriteAsync不是将更新保存到文件的正确位置,您能否提供一些将更改保存到现有文件的指导?

编辑后添加: 现在我可以看到,在消除了有关设备无法正常工作的第一个错误之后,我得到了标准的保存对话框,如果我单击“保存”,它会问我是否要覆盖现有文件,在接受覆盖后便会调用WriteAsync,然后我可以更新文件内容

我不太确定为什么它会先告诉我有错误然后再允许我写文件,但只能替换原始文件

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

修复后,我发现ILockAsync实现存在问题,查看FileSystemStorage示例有助于解决在写入或更新属性之前锁定文件的问题

相关问题