Как Я Могу Отобразить Pdf-Файл Из Байтового Массива В Mvc?
Я вызываю веб-сервис(используя веб-клиент) в коде mvc, который возвращает массив байтов pdf doc и сохраняет массив байтов в локальной машине как pdf.Pdf-файл генерируется в нужном месте, но когда я открываю его,он показывает ошибку file not supported.Так что кто-нибудь может сказать мне, как решить эту проблему.Мне также нужен API-код, который возвращает pdf-файл на основе переданного ему имени файла.
Sergey Alexandrovich Kryukov
"Он показывает файл не поддерживается ошибка" не является информативным, это не дает нам четкого представления о том, что вы пытаетесь сделать. Вы не должны предполагать, что у пользователя есть какое-либо программное обеспечение для его просмотра.
—СА
F-ES Sitecore
Если Вы читаете поток с помощью функции чтения, то, скорее всего, Вы читаете только его часть, поскольку потоки доставляют свои данные кусками, так что то, что вы записали на диск, является только частью файла. Либо продолжайте использовать метод Read и добавлять его в буфер до тех пор, пока не будет прочитан весь поток
https://msdn.microsoft.com/en-us/library/system.io.stream.read(v=против 110). aspx
или используйте метод, который считывает поток полностью (если он существует), или один из способов-использовать файл.Create чтобы создать поток, который записывает нужный файл на ваш диск, просто используйте метод CopyTo потока, который вернулся из webapi, чтобы скопировать его в поток, полученный из FileCreate. Это будет обрабатывать все куски для вас.
https://msdn.microsoft.com/en-us/library/dd782932(v=против 110). aspx
У меня есть пример кода для этого, но не на мне прямо сейчас, вы можете использовать вышеизложенное, чтобы дать ему идти или google для решения, и в противном случае я могу выкопать код, когда он у меня есть передо мной.
Member 11364465
Мне нужно разместить api на сервере, где находятся мои pdf-файлы. затем я вызываю api из своего кода, передавая файл, чтобы получить pdf-файл, а затем я буду отображать его в браузере.Как мой api вернет pdf-файл и как я могу потреблять его в своем приложении - это то, на что я напал.