Получение вложении электронной почты по электронной почте через Filestreamresult
Вопрос
У меня есть этот код здесь, где я извлекаю вложение из сообщения электронной почты, который находится на сервере Exchange, используя 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);
Я могу скачать файл просто в порядке, однако они повреждены ... Есть ли что-то, что мне не хватает?
Решение
Вы можете использовать FILECONTENTRESULT. прямо вместо этого - то, что вам не нужно идти через MemoryStream
. Отказ Таким образом, у вас меньше рискуют ломаю что-либо.
return FileContent(fileAttachment.Content, attachment.ContentType);
Вы могли бы также захотеть установить FileDownloadName
если вы нет Хотите файл отображать встроенный в браузере.
Не связан с StackOverflow