如何将文件放入HttpResponseMessage内容中?

3
我想返回一个包含文件的HttpResponseMessage内容,类似于以下内容:
return Request.CreateResponse(HttpStatusCode.OK, {{a file here}});

或者这个:
return new HttpResponseMessage() {
   StatusCode = HttpStatusCode.OK; 
   Content = {{ a file "example.zip" here}}
};

这是可能的吗?

请参考以下帖子,https://dev59.com/bGkw5IYBdhLWcg3w8fFJ。这应该能为你提供一些进展的线索。 - undefined
1个回答

4
您可以使用System.Net.Http.HttpContent.StreamContent实例将FileStream对象添加到HttpResponseMessage的Content属性中。代码示例如下:
        // 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校验和。

3
你好,客户端如何从响应消息中获取文件流?有任何想法吗? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接