【发布时间】:2014-09-15 03:23:57
【问题描述】:
我有一个 aspx 页面,它创建一个 PDF 文件下载到客户端的浏览器,它工作正常。 但我也需要将该文件创建到服务器中,这就是问题所在。
如何将 Response.OutputStream 转换为文件到服务器?
这是我的代码:
protected void Page_Load(object sender, EventArgs e)
{
try
{
JavaScriptSerializer jss = new JavaScriptSerializer();
DestinationPDF.DestinationPDF.DestinationPDFParameters dPdfParams = jss.Deserialize<DestinationPDF.DestinationPDF.DestinationPDFParameters>(Request["destinationPdfValue"]);
dPdfParams.DocAttributes.MarginBottom = 10;
dPdfParams.DocAttributes.MarginLeft = 10;
dPdfParams.DocAttributes.MarginRight = 10;
dPdfParams.DocAttributes.MarginTop = 10;
dPdfParams.DocAttributes.FileName = "Acreditacion_" + Request["id"];
DestinationPDF.DestinationPDF dPdf = new DestinationPDF.DestinationPDF(dPdfParams.Widgets,dPdfParams.DocAttributes);
Response.AppendHeader("Content-disposition", string.Format("attachment;filename={0}", dPdf.GetFileName()));
Response.ContentType = "application/pdf";
dPdf.Save(Response.OutputStream);
Stream stream = Response.OutputStream;
var fileStream = new FileStream(@"C:\PROYECTOS 2013\CANCILLERIA\PortalTramites\PortalTramites\Documentos\pdf__Acreditacion" + Request["id"] + ".pdf", FileMode.Create, FileAccess.Write);
stream.CopyTo(fileStream, 256);
}
catch (Exception ex) { Response.End(); }
Response.End();
}
【问题讨论】: