我想在 HttpResponseMessage 内容中返回一个文件,如下所示:
return Request.CreateResponse(HttpStatusCode.OK, {{a file here}});
或者这个:
return new HttpResponseMessage() {
StatusCode = HttpStatusCode.OK;
Content = {{ a file "example.zip" here}}
};
这可能吗?
最佳答案
您可以使用 System.Net.Http.HttpContent.StreamContent 实例将 FileStream 对象添加到 HttpResponseMessage 的内容属性。像这样:
// Return archive stream
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
result.Content = new StreamContent(fileStream);
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") {
FileName = fileName.ToString()
};
请注意,在实际应用程序中,您可能还应该向文件内容添加 MD5 校验和。
关于c# - 如何将文件放入 HttpResponseMessage 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29708703/