2016-08-08 3 views
1

Мне нужно установить имя .pdf перед его отображением. Я попытался установить его так:Установить .pdf имя, но предотвратить загрузку с помощью Rotativa

return new ViewAsPdf(GetViewName(), "", reportVM) 
{ 
    PageSize = Size.Letter, FileName = GetViewName() + "-" + DateTime.Now.ToShortDateString() + ".pdf" 
}; , 

но таким образом .pdf будет загружаться автоматически. Можно ли установить имя .pdf и не загружать его?

Спасибо!

+0

Вы хотите, чтобы pdf-файл отображался на странице? Вместо того, чтобы просить пользователя сохранить файл? –

+0

Да, я хочу отобразить его –

+0

Вы никогда не сможете предотвратить его загрузку, если он отображается в браузере, он был загружен в основном. – mxmissile

ответ

1

После длительного исследования ответ отрицательный. Единственное, что я мог сделать, это установить имя файла, используя заголовок ответа и удалить свойство FileName, так что код теперь:

Response.AppendHeader("Content-Disposition", "inline; filename=" +GetViewName() + "_" + DateTime.Now.ToShortDateString() + ".pdf"); 
return new ViewAsPdf(GetViewName(), "", reportVM) { PageSize = Size.Letter }; 

Может быть, есть лучшее решение, но это лучшее, что я мог бы получить после того, как все чтение. Надеюсь, это тоже поможет другим!

+0

Если вы хотите отобразить pdf-файл, вы можете сделать это с помощью '