Я пытался обеспечить загрузку epub различными способами. Все они работают при загрузке на моем ноутбуке с любого браузера, но при загрузке с помощью электронного ридера это приводит либо к «повреждению файла», либо к «типу контента не поддерживается». Проблема не в самом файле: когда я загружаю его в любое другое место (например, на общедоступные веб-сайты, посвященные дампам файлов), я могу загрузить этот файл без каких-либо проблем в мою электронную книгу.
Вот один из многих способов, которые я пробовал:
IFileProvider provider = new PhysicalFileProvider(path);
IFileInfo fileInfo = provider.GetFileInfo(filename);
var readStream = fileInfo.CreateReadStream();
var fileType = "application/epub+zip"; //MediaTypeNames.Application.Octet
return File(readStream, fileType, Path.GetFileName(outputFilepath));
и на странице бритвы, например ::1006
<a href="3/Epub2/test.epub">Epub2</a>
<a href="3/Epub2/test.epub" download="test.epub" type="application/epub+zip" target="_blank">Epub2</a>
(здесь первая ссылка приводит к «поврежденному файлу», а вторая к «типу содержимого не поддерживается).
На сервере файл находится вне корня сайта.
Каковы возможные причины того, что прямая загрузка в мой электронный ридер не работает с этим кодом, но при загрузке / загрузке простых файлов это работает?
Большое спасибо за вашу помощь!