Question

J'ai ce code là où je récupérer une pièce jointe d'un message électronique qui est à l'aide d'Exchange Server EWS

            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);

Je peux télécharger le fichier très bien mais ils sont corrompus ... Y at-il quelque chose que je suis absent?

Était-ce utile?

La solution

Vous pouvez utiliser un FileContentResult directement à la place - de cette façon vous ne devez pas passer par un MemoryStream. De cette façon, vous avez moins de risque de casser quoi que ce soit.

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

Vous pouvez également régler le FileDownloadName si vous ne pas voulez que le fichier à afficher en ligne dans le navigateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top