2
私は以下のコードを持っています。私は、GetMediaItemByIDが期待されるメディアアイテムを返すことを確認しました。そして、MIMEタイプは "application/pdf"です。しかし、私がこのコードを呼び出すコントローラーを押すと、Acrobatは結果のPDFファイルが無効であると訴える。私は結果のPDFファイルをテキストエディタで見て、それはバイナリデータです。私が間違っているアイデアは?WebAPIコールからSitecoreメディアアイテムを返す
public HttpResponseMessage RetrieveDocument(ID mediaID)
{
MediaItem file = GetMediaItemByID(mediaID);
Stream stream = file.GetMediaStream();
MemoryStream ms = new MemoryStream();
stream.CopyTo(ms);
var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ByteArrayContent(ms.GetBuffer()) };
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = file.Name + "." + file.Extension };
result.Content.Headers.ContentType = new MediaTypeHeaderValue(file.MimeType);
return result;
}
:
は、代わりにこのコードを試してみてください。私はいつも同じものだと思っていましたが、それを読んで、違いがあります。 –