1

我们后端系统中的一些文档是只读的,并且在请求内容时动态生成。为这些文件生成内容的成本很高,并且随着时间的推移会生成不同长度的文件。

有没有一种方法可以返回不是文件实际长度的近似或占位符内容长度,但是当通过 GET 请求请求内容时生成实际文件并通过流请求返回正确的长度和内容?我尝试传回 -1 的长度,假设它可能是一个幻数以指示长度未知,然后重复的 IFile.Read 请求可用于返回长度未知的文档,但这不起作用。

我要避免的是在资源管理器中浏览目录以提供未知的 ContentLength 值时生成内容。然后仅在进行 IFile.Read 调用时生成文档内容,将其缓存并使用该缓存文件来满足内容读取请求。是否可以使用 ITHit WebDAV 引擎来做到这一点?有没有另一种方法来解决这个问题?

似乎 WebDAV 协议可以支持在浏览目录时返回文档的任何内容长度,但是在请求内容时,可以随内容返回不同/准确的内容长度。

4

1 回答 1

1

IT Hit WebDAV 服务器引擎不支持返回未知文件长度,原因如下:

根据我们的经验,如果 WebDAV 服务器在列出文件夹内容和读取文件时都没有返回正确的文件长度,一些 WebDAV 客户端,例如 Microsoft Mini-redirector (Windows Shell) 和 Microsoft Office 将无法打开文档。

于 2015-02-21T17:54:36.427 回答