我正在开发一个项目,我们有一个数据库和一个单独的文件系统,它们都存储在同一台服务器上,并通过服务堆栈请求和响应进行访问。
数据库包含文件系统中给定文件的相关元数据,因此我们希望能够同时检索和存储这些文件和文档,以防止孤立数据。
是否可以在同一响应中同时返回数据流(文件)和响应DTO?类似于JsonServiceClient.PostFileWithRequest
允许将文件和请求DTO传递到服务器的方式。如果可能在服务器端和客户端都如何处理?
在我的研究中,到目前为止,大多数应用程序似乎只返回响应文档或流,主要是通过使用HttpResult
。
提前致谢!
答案 0 :(得分:1)
不支持MIME Multipart/mixed响应,主要用于电子邮件,很少支持和用于HTTP。使用文件下载响应发送附加元数据的最简单方法是使用HTTP标头,例如:
class FileResponseWithMetadata
{
public byte[] Data { get; set; }
public string Key { get; set; }
}
另一种选择是将文件内容嵌入DTO中:
foo {
#something
DEFINES += FOO
} else {
#something else
DEFINES += NOT_FOO
}
bar {
#another thing
DEFINES += BAR=42
}
要返回多个文件,您需要使用DotNetZip之类的库来压缩文件并将其返回。