나는 "다운로드"링크가있는 웹 페이지가 있습니다.ASHX에서 웹 페이지로 돌아 가기
jQuery 사용하기 저는 Ajax를 사용합니다. ASHX 파일로 가져 오기.
ASHX에서는 파일 스트림을 가져옵니다. 그런 다음 스트림을 바이트 배열로 변환하고 바이트 배열을 호출하는 html 페이지로 반환합니다.
jQuery를
$(".DownloadConvertedPDF").click(function() {
var bookId = $(this).attr("bookId");
$.get('/UserControls/download.ashx?format=pdf&bookId=' + bookId, {}, function (data) { });
});
나는 오류가 발생하지 않습니다뿐만 아니라 PDF가 화면에 표시되지 않습니다
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);
C 번호.
이상적으로 나는 pdf를 반환하고 jQuery가 브라우저 내의 별도의 탭에서 pdf를 시작하고 싶습니다.
어떻게해야합니까? 아니면 내가 뭘 잘못하고 있습니까?
@griegs 다음'window.open' 방법을 사용합니다. '.get '이 효과가 있다고 생각하지 않습니다. – Mrchief
아, 훨씬 나아졌지만 오류가 발생했습니다 "파일이 '% PDF-'로 시작하지 않습니다. – griegs
그게 두려운 오류입니다! 내 업데이트 – Mrchief