我有一個帶有「下載」鏈接的網頁。將ASHX的PDF返回到網頁
使用jQuery我做一個Ajax獲取一個ASHX文件。
在ASHX中,我得到了文件的流。然後,我將該流轉換爲一個字節數組,並將字節數組返回給調用的html頁面;
jQuery的
$(".DownloadConvertedPDF").click(function() {
var bookId = $(this).attr("bookId");
$.get('/UserControls/download.ashx?format=pdf&bookId=' + bookId, {}, function (data) { });
});
C#
context.Response.ContentType = "Application/pdf";
Stream fileStream = publishBookManager.GetFile(documentId);
byte[] buffer = new byte[16 * 1024];
using (MemoryStream ms = new MemoryStream())
{
int read;
while ((read = fileStream.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
}
}
context.Response.OutputStream.Write(buffer, 0, buffer.Length);
我沒有得到一個錯誤,但也PDF不會顯示在屏幕上。
理想情況下,我希望將PDF返回並使用jQuery在瀏覽器內的獨立選項卡中啓動pdf。
我該如何做到這一點或我做錯了什麼?
@griegs:使用'window.open'方法。我不認爲'.get'會起作用。 – Mrchief
嗯,這是好得多,但我得到一個錯誤「文件不以'%PDF-'開頭 – griegs
這是可怕的錯誤!請參閱我的更新 – Mrchief