我们后端系统中的某些文档是只读的,并在请求内容时动态生成。生成这些文件的内容很昂贵,并且随着时间的推移会生成不同长度的文件。
有没有办法可以返回大概或占位符内容长度,而不是文件的实际长度,但是当通过GET请求询问内容时,生成实际文件并通过流返回正确的长度和内容要求?我尝试传回-1的长度,假设它可能是一个神奇的数字,表示长度未知,然后重复IFile.Read请求可用于返回未知长度但不起作用的文档。
我想避免的是在资源管理器中浏览目录时生成内容以提供未知的ContentLength值。然后,只有在进行IFile.Read调用时才生成文档内容,对其进行缓存并使用该缓存文件来完成内容读取请求。是否可以使用ITHit WebDAV引擎执行此操作?还有另一种解决这个问题的方法吗?
似乎WebDAV协议可以支持在浏览目录时返回文档的任何内容长度,但在请求内容时,可以随内容返回不同/准确的内容长度。
答案 0 :(得分:1)
IT Hit WebDAV服务器引擎不支持返回未知文件长度,原因如下:
根据我们的经验,如果WebDAV服务器在列出文件夹内容和读取文件时都没有返回正确的文件长度,则某些WebDAV客户端(如Microsoft Mini-redirector(Windows Shell)和Microsoft Office)将无法打开文档。