我有一个网页链接到一些 pdf 文件,例如http://www.someurl.com/somefolder/filename.pdf。
当用户单击这些链接时,身份验证启动,用户登录并可以下载文件。我想要实现的是下载在新窗口中打开。
我对代码的访问/控制有限,无法将target=_blank
属性添加到 href 或添加任何 javascript。认证后下载的代码如下:
string filename = Path.GetFileName(context.Request.PhysicalPath);
FileStream MyFileStream;
long FileSize;
string strMapPath = context.Server.MapPath(filename);
MyFileStream = new FileStream(strMapPath, FileMode.Open);
FileSize = MyFileStream.Length;
//Allocate size for our buffer array
byte[] Buffer = new byte[(int)FileSize];
MyFileStream.Read(Buffer, 0, (int)FileSize);
MyFileStream.Close();
//Do buffer cleanup
context.Response.Buffer = true;
context.Response.Clear();
//Add the appropriate headers
context.Response.AddHeader("content-disposition",
"attachement filename=" + filename);
//Add the right contenttype
context.Response.ContentType = "application/pdf";
//Stream it out via a Binary Write
context.Response.BinaryWrite(Buffer);
我们可以强制context.Response
在新窗口中打开吗?