В моем приложении MVC я недавно настроил страницу, чтобы разрешить загрузку файла произвольного типа (с некоторыми ограничениями, которые не относятся к этому вопросу).
Я храню файл как тип данных byte [] в базе данных, с типом хранимых файлов, основанным на расширении файла (Пожалуйста, не пытайтесь дать мне лучший вариант для хранения этих файлов, я хорошо знаю, что файлы в базе данных не очень хорошая практика, но у нас есть ограничение, которое требует, чтобы мы сохранили эти файлы с помощью SQL Server.)
Как я уже говорил, чтобы сделать это еще хуже, я храню массив байтов [] файла в столбце в базе данных, который имеет тип text . Это сделано только для того, чтобы я не беспокоился об ограничениях с типом varbinary.
Что я хочу знать, так это то, что при запросе файла наилучший способ в MVC вернуть эти файлы пользователю с указанным расширением файла?
Я мог сделать это раньше с файлами Excel и AJAX-вызовом действия «GET» на моем контроллере, но я хочу знать, есть ли лучший способ сделать это.
Есть предложения?
Пример: если у меня есть следующий код
string fileExtension = /*Some File Extension*/
byte[] data = MyDataContext.DocumentTable.First(p => p.DocumentUID == id);
Как я могу затем вернуть эти данные пользователю в указанном формате файла, используя fileExtension , который был изначально сохранен.
РЕДАКТИРОВАТЬ Я предполагаю, что FileResult будет одним из самых простых способов сделать это.