首页 > 解决方案 > 写入通过映射驱动器中的 Windows 资源管理器打开文件时所做的文件更改

问题描述

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

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

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

连接到系统的设备不工作

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

从可以理解的情况来看,在创建新文件时使用 WriteAsync 方法,我是否应该期望 WriteAsync 也被调用以进行需要更改的文件编辑?

假设 DavFile.WriteAsync 将被更新内容的流调用,我错了吗?

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

编辑添加:现在我可以看到,在我关闭有关设备不工作的第一个错误后,我得到标准保存对话框,如果我单击保存,它会询问我是否要覆盖现有文件,在接受覆盖然后 WriteAsync被调用,我可以更新文件内容

我不太清楚为什么它会首先告诉我有一个错误,然后仍然允许我写文件,但只是作为原始文件的替换

谢谢你的帮助

标签: ithit-webdav-server

解决方案


Fixed, i found that there were issues with the ILockAsync implementation, reviewing the FileSystemStorage sample helped fix the issue with locking files before writing or updating properties


推荐阅读