我使用流动代码创建一个pdf文件。当我运行我的代码时,生成的pdf文件存储在Downloads文件夹中。我想改变这条道路。我想把它保存到我的解决方案中。我该怎么做?
这是代码:
Document pdfDoc = new Document(new Rectangle(624f, 568f),0f,0f,0f,0f);
try
{
PdfWriter.GetInstance(pdfDoc, System.Web.HttpContext.Current.Response.OutputStream);
pdfDoc.Open();
string imageFilePath = System.Web.HttpContext.Current.Server.MapPath("../images/1.jpg");
iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(imageFilePath);
jpg.ScaleToFit(624f, 468f);
pdfDoc.Add(jpg);
pdfDoc.Close();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment; filename= " + System.DateTime.Now.ToString("yyyyMMdd_HHmmssff") + ".pdf");
Response.End();
}
catch (DocumentException de)
{
System.Web.HttpContext.Current.Response.Write(de.Message);
}
答案 0 :(得分:3)
我想在服务器中保存指定文件夹,此pdf将保存。
你做不到。服务器端代码不会(并且不能)知道有关客户端文件系统的任何信息。这是出于一系列建筑和安全原因。
用户无法更改此路径。
如果他们通过网络浏览器访问它,他们肯定可以。如果没有编写自己的自定义Web浏览器,用户可以指定要保存文件的位置。 (或者,如果他们想要保存它们。)
那我怎么能这样做呢?
编写自定义Web浏览器并要求您的用户仅从该浏览器访问您的Web应用程序,或者编写客户端应用程序以传输文件(以及您需要的任何其他功能),并要求您的用户使用该应用程序他们的网络浏览器。
Web应用程序无法访问客户端文件系统。
答案 1 :(得分:1)