#c# #asp.net-mvc #razor
#c# #asp.net-mvc #razor
Вопрос:
У меня есть razor view, а в viewmodel у меня есть IEnumerable
документов.
Что я хочу сделать, так это получить byte
массив для документа, а затем отобразить его в представлении razor.
foreach (var document in Model.documents)
{
<div src="@Url.Action("GetDocument", "Document", new {Id = document.Id})"/>
}
Выше приведено то, что у меня есть в представлении, а ниже приведен код для GetDocument
метода:
public void GetDocument(int id)
{
var document = _documentRepository.Get(id);
Response.ContentType = document.ContentType;
Response.Write(document.data);
}
Возможно ли то, чего я пытаюсь достичь?
Комментарии:
1. Какой документ вы пытаетесь отобразить? Если это только pdf, тогда вы можете попробовать использовать тег
<frame></frame>
или<embed></embed>
вместо<div></div>
. Если вы хотите отображать другие типы файлов, то я думаю, вам нужен какой-нибудь сторонний инструмент для просмотра документов.2. Я рассматривал рендеринг
.txt
но пока я буду использовать PDF-файл и посмотрю, смогу ли я заставить его отображаться. Спасибо за информацию.3. если я правильно понимаю, вы хотите отобразить текстовый файл на странице razor?
4. Это может быть любой документ, PDF, .doc, .docx, .txt. На данный момент я вроде как сдался и подошел к этому по-другому.