用水晶报表导出.pdf文件,用win98+Reader5.0再显示在网页上,有时有“文件不以‘%pdf-’开始“的错误的提示
nbyqz 2004-03-29 09:14:55 关于把水晶报表转换成.pdf格式的文件后,用win98+Reader5.0再显示在网页上,结果有“文件不以‘%pdf-’开始“的错误的提示,不知为何
Dim myrptdoc As New ReportDocument()
Dim myobjfile As New DiskFileDestinationOptions()
myrptdoc.Load(Server.MapPath("cr_dsdz.rpt"))
Dim myexportfile As String = Server.MapPath(Session.SessionID.ToString & ".pdf")
myobjfile.DiskFileName = myexportfile
myrptdoc.SetDataSource(d)
With myrptdoc.ExportOptions
.ExportDestinationType = ExportDestinationType.DiskFile
.DestinationOptions = myobjfile
.ExportFormatType = ExportFormatType.PortableDocFormat
End With
myrptdoc.Export()
myrptdoc.Close()
Response.ClearContent()
Response.ClearHeaders()
Response.ContentType = "application/pdf"
Response.WriteFile(myexportfile)
Response.Flush()
Response.Close()
System.IO.File.Delete(myexportfile)
改用一下代码:
void Page_Load(object sender, System.EventArgs e) {
if (Page.IsPostBack){
FileStream MyFileStream = new FileStream(@"d:\inetpub\wwwroot\small.pdf", FileMode.Open);
long FileSize;
FileSize = MyFileStream.Length;
byte[] Buffer = new byte[(int)FileSize];
MyFileStream.Read(Buffer, 0, (int)MyFileStream.Length);
MyFileStream.Close();
Response.ContentType="application/pdf";
Response.AddHeader( "content-disposition","attachment; filename=MyPDF.PDF");
Response.BinaryWrite(Buffer);
}
}
提示无法打开XXX.aspx文件