Как я могу отобразить любой файл формата в веб-браузере
У меня есть один ActionUrl в приложении в том, что он содержит адрес файлов всех форматов.
Теперь по клику любого файла он должен быть открыт в браузере(не скачиваться)
Я попробовал ниже код для него, но он работает только для формата pdf.
Что я уже пробовал:
public FileContentResult ViewFile(string filename) { string OnlyFileName = Path.GetFileName(filename); string ext = Path.GetExtension(filename); var mimeType = "application/pdf"; if (ext.ToLower() == ".png") { mimeType = "image/png"; } else if (ext.ToLower() == ".docx") { mimeType = "application/ms-word"; } // var fileContents = System.IO.File.ReadAllBytes(filename); return new FileContentResult(fileContents, mimeType); }
F-ES Sitecore
Для работы с "любым файлом" вы можете определить тип MIME из расширения, запросив реестр. Есть пример кода этого в одном из ответов здесь https://stackoverflow.com/questions/1029740/get-mime-type-from-filename-extension
Однако, как уже упоминалось в решениях здесь, отправка правильного типа MIME-это все, что вы можете сделать, затем браузер должен решить, что делать с этим типом, если он может показать встроенный файл, то он это сделает, в противном случае он запустит приложение, зарегистрированное для этого файла, или, если таковой не найден, даст вам возможность загрузки.
Tbs.User
Да, спасибо за это. теперь я получаю mimeType из filename, но мне все равно нужно его открыть.