2

ここにこのコードがあり、EWSを使用してExchangeServer上にある電子メールメッセージから添付ファイルを取得します

            Attachment attachment = message.Attachments.Single(att => att.ContentId == Request.QueryString["cid"]);
            attachment.Load();
            FileAttachment fileAttachment = attachment as FileAttachment;


            fileAttachment.Load();
            byte[] bytes = fileAttachment.Content;
            Stream theMemStream = new MemoryStream();

            theMemStream.Write(bytes, 0, bytes.Length);

            return new FileStreamResult( theMemStream, attachment.ContentType);

ファイルは問題なくダウンロードできますが、破損しています...何か足りないものはありますか?

4

1 に答える 1

2

代わりにFileContentResultを直接使用できます。そうすれば、を経由する必要はありませんMemoryStream。そうすれば、何かを壊すリスクが少なくなります。

return FileContent(fileAttachment.Content, attachment.ContentType);

ブラウザ内でファイルをインラインで表示したくないFileDownloadName場合は、を設定することもできます。

于 2010-08-06T07:54:04.413 に答える