2015-04-02 2 views
0

Я использую следующий фрагмент кода, чтобы открыть файл PDF, который я только что создал, эти методы работают в одном разделе на моем сайте, но он, похоже, не перенаправляет на PDF из другой раздел моего сайта. Что может быть причиной того, почему файл PDF не открывается.Открытие файла pdf в asp.net C#

Context.Response.Buffer = false; 
FileStream inStr = null; 
byte[] buffer = new byte[1024]; 
long byteCount; 
inStr = File.OpenRead(pdfPath); 
while ((byteCount = inStr.Read(buffer, 0, buffer.Length)) > 0) { 
    if (Context.Response.IsClientConnected) { 
     Context.Response.ContentType = "application/pdf"; 
     Context.Response.OutputStream.Write(buffer, 0, buffer.Length); 
     Context.Response.Flush(); 
    } 
} 
+0

Вы получаете какое-либо исключение? что такое сообщение? –

+1

Почему вы не позволите браузеру обработать файл? он откроет его в плагине, если он доступен, или он предложит загрузить. – Ted

+0

Нет, не было ошибки, из-за чего это так сложно отлаживать. –

ответ

0

Ваш путь к файлу относительно дорог. Вы могли бы также прочитать файл в одном кадре bytez = File.ReadAllBytes (Server.MapPath (pdfPath))

И отправить его таким же образом. Response.BinaryWrite (bytez).

+0

Чтение pdf в памяти настоятельно не рекомендуется на веб-сайте. Что произойдет (в зависимости от размера PDF и количества параллельных запросов, конечно), вы получите высокую вероятность исчерпания памяти. –

Смежные вопросы