如何在新的瀏覽器窗口中寫入輸出流?將輸出流寫入新窗口
目前,我有下面的代碼。顯然,它在同一個窗口中打開流。我知道我可以將Outputstream寫入一個文件並在新窗口中打開它,但這不是一個選項。
protected void openPDF(byte[] dados) {
HttpContext contexto = HttpContext.Current;
contexto.Response.Clear();
contexto.Response.AppendHeader("content-type", "application/pdf");
contexto.Response.AppendHeader("Expires","Mon, 26 Jul 1990 05:00:00 GMT");
contexto.Response.AppendHeader("Cache-Control","no-cache, must-revalidate");
contexto.Response.AppendHeader("Pragma","no-cache");
contexto.Response.Expires = -1;
contexto.Response.AppendHeader("Content-Disposition", "inline; filename=labels.pdf");
contexto.Response.AddHeader("content-length", dados.Length.ToString());
contexto.Response.OutputStream.Write(dados, 0, dados.Length);
contexto.Response.OutputStream.Flush();
contexto.Response.End();
}
基本上,我推在SharePoint Web部件的按鈕打開一個本地文件。 webpart調用webservice返回一個byte []。我想要的是將byte [](它是一個pdf文件)寫入一個新窗口,因爲在同一個窗口中打開它不是非常用戶友好的(ish)。 – none 2009-10-07 15:04:52
您需要更改webpart中的按鈕以調用一些Javascript來打開一個新窗口。新窗口將需要一個新的頁面請求,並且您必須傳遞查詢字符串中調用Web服務所需的任何上下文數據。 – batwad 2009-10-08 09:40:23