我有一个 web api,我在其中返回一个对象。当我使用接受标头“image/jpg”时,我想要该对象的图像表示,但我想根据我返回的对象设置文件名。我已经实现了一个BufferedMediaTypeFormatter
并认为我应该在这样的方法中做到这一点SetDefaultContentHeaders
:
public override void SetDefaultContentHeaders(Type type, HttpContentHeaders headers, MediaTypeHeaderValue mediaType)
{
base.SetDefaultContentHeaders(type, headers, mediaType);
var myObject = // How do I get this from the response?
var contentDispositionHeader = new ContentDispositionHeaderValue("attachment")
{ FileName = myObject.FileName };
headers.ContentDisposition = contentDispositionHeader;
}
所以问题是当我在时如何获取底层对象SetDefaultContentHeaders
?HttpResponseMessage
我可以通过从传递给方法的方法中读取它来在测试版中做到这一点,但它已被删除。