首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过FileStreamResult获取EmailMessage附件

通过FileStreamResult获取EmailMessage附件
EN

Stack Overflow用户
提问于 2010-08-06 13:39:09
回答 1查看 1.8K关注 0票数 2

我在这里使用EWS从Exchange Server上的电子邮件中检索附件的代码如下

代码语言:javascript
复制
            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);

我可以很好地下载文件,但是它们已经损坏了……我是不是漏掉了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-06 15:54:04

您可以直接使用FileContentResult -这样您就不必通过MemoryStream。这样一来,你就不会有太大的风险去破坏任何东西。

代码语言:javascript
复制
return FileContent(fileAttachment.Content, attachment.ContentType);

如果不希望文件在浏览器中以内联方式显示,则可能还需要设置FileDownloadName

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3421250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档