1

我们遇到了 RavenDb 的关键文件存储问题。

上下文是我们有一个Web 应用程序服务器和一个基于RavenDB的单独文件服务服务器。例如,用户尝试上传名为“xxx_Living #Mapping.pdf”的文件。然后,Web 应用程序将通过将文件内容包装到请求正文中来将请求发送到文件服务器,并将编码的文件名作为参数传递给 Put Action。但是由于未知网络原因,文件服务器收到请求后,包括'#'在内的所有字符都被阻止,导致"xxx_Living"。文件服务器能够毫无例外地通过调用来创建文件。filesStore.AsyncFilesCommands.UploadAsync(fileName, Request.Body)

问题是我们可以通过发送请求/RavenDbServer/fs/ClientFile/search?query=__directoryName%3A%2Fclientattachments+AND+__level%3A2&start=108&pageSize=27 查看从 Raven.Studio 上传的文件。(请参阅随附的快照) 在此处输入图像描述

但是,我们无法通过发送请求在列表中选择目标文件来查看元数据/RavenDbServer/studio/index.html#filesystems/edit?&id=clientattachments%2F0aecef9c-6dd0-4a9e-9df3-039228576471_Living%20&filesystem=客户端文件。(请参阅随附的快照) 在此处输入图像描述

我们还检查了网络流量。请求RavenDbServer/fs/clientFile/files/clientattachments%2F0aecef9c-6dd0-4a9e-9df3-039228576471_Living%20返回 404 代码。

我的问题是:

1)这些文件是否成功存储在 RavenDb 文件服务器中,因为我们可以在列表页面中看到 id、文件大小和上次修改日期,但无法通过从 RavenDb 工作室单击文件或通过调用 api 下载来获取它filesStore.AsyncFilesCommands.DownloadAsync(FileName)?

2)我们可以将文件存储到Raven文件服务器,文件名包含特殊字符,如'#'或任何其他字符?

4

0 回答 0