none
Прикрепить FileResult к email RRS feed

  • Вопрос

  • Добрый день. Формирую на стороне сервера письмо для отправки, возникло затруднение с прикреплением к письму объекта типа FileResult

    Ниже следующий код прикрепляет к письму файл, но в качестве параметра конструктору Attachment можно передать либо строку, либо Stream.

    Возможно ли сразу прикрепить к письму

    FileResult file
    string s_file = "C:\\file.zip";
    Attachment attach = new Attachment(s_file, MediaTypeNames.Application.Octet);
                    // Добавляем информацию для файла   
    ContentDisposition disposition = attach.ContentDisposition;
    disposition.CreationDate = System.IO.File.GetCreationTime(s_file);
    disposition.ModificationDate = System.IO.File.GetLastWriteTime(s_file);
    disposition.ReadDate = System.IO.File.GetLastAccessTime(s_file);
    
    Message.Attachments.Add(attach);


    17 октября 2012 г. 6:25

Ответы

  • Привет.

    Так FileResult - это класс, который предназначен для отправки клиенту файла, который есть на сервере. Откуда то он у вас создается или вы его получаете?

    Данный класс является базовым классом для 3х других - FileContentResult, FilePathResult, FileStreamResult в каждом из них есть свойство из которого можно создать Stream, либо получить его, либо получить путь. Вы можете проверить с помощью оператора is объект какого именно класса у вас есть, привести к нему и далее получить значение нужного свойства.


    Для связи [mail]

    • Помечено в качестве ответа Sumv 18 октября 2012 г. 11:26
    18 октября 2012 г. 7:22

Все ответы

  • предполагаю, что может быть понадобится взять при открытии файла FileStream и послать это как стрим.
    что-то типа такого Stream str = File.Open(fileName........);
    и вот это в Ваш стрим может быть подставится.

    как точно не знаю, просто первое что на ум пришло.
    17 октября 2012 г. 8:12
  • Не подходит так как,  File.Open(...) просит строку указывающую на файл, а у меня есть обьект типа FileResult из System.Web.Mvc


    17 октября 2012 г. 10:04
  • аа, это ASP.NET MVC.
    я его пока не знаю.

    17 октября 2012 г. 10:35
  • Привет.

    Так FileResult - это класс, который предназначен для отправки клиенту файла, который есть на сервере. Откуда то он у вас создается или вы его получаете?

    Данный класс является базовым классом для 3х других - FileContentResult, FilePathResult, FileStreamResult в каждом из них есть свойство из которого можно создать Stream, либо получить его, либо получить путь. Вы можете проверить с помощью оператора is объект какого именно класса у вас есть, привести к нему и далее получить значение нужного свойства.


    Для связи [mail]

    • Помечено в качестве ответа Sumv 18 октября 2012 г. 11:26
    18 октября 2012 г. 7:22
  • Получилось все сделать так как сказал Abolmasov Dmitry. Спасибо
    18 октября 2012 г. 11:26