В моем текущем проекте мне нужно открыть файл PDF, который был загружен пользователем. У меня есть элемент управления загрузкой файлов и кнопка «Загрузить» на моей странице aspx. Как только пользователь нажмет кнопку «Загрузить», файл должен быть сохранен и открыт в новом окне.Открыть загруженный файл PDF в новом окне браузера/вкладке
Я попытался сделать это с помощью стороны клиента функции:
<script type="text/javascript">
function openPDF() {
alert('The file is open.');
window.open('Open PDF.aspx','PDF');
return true;
}
</script>
Но страница "Open PDF.aspx" пустая.
Открыть PDF.aspx.cs файл выглядит следующим образом:
protected void Page_Load(object sender, EventArgs e)
{
string fullFileName = Session["fullFileName"].ToString();
WebClient client = new WebClient();
Byte[] buffer = client.DownloadData(fullFileName);
if (buffer != null)
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", buffer.Length.ToString());
Response.BinaryWrite(buffer);
}
}
Полный путь к файлу вместе с именем файла строится в случае BtnUpload_Click которое событие на стороне сервера, и выполняется после Client- боковая функция. Как передать полный путь к файлу в качестве сеанса или запроса на страницу «Открыть PDF.aspx»?
Если есть какой-либо другой способ достижения этого, то, пожалуйста, бросьте свою идею. Благодаря!!!
Спасибо за ваш ответ. Но я никогда не работал с Ajax. Можете ли вы привести мне пример? – KhD
Вы используете (или планируете использовать) jQuery или любую другую библиотеку javascript или просто чистый javascript? –
просто чистый javascript. – KhD