这是我的C#代码:
protected void Button1_Click(object sender, EventArgs e)
{
string attachment = "attachment; filename=" + Session["pdf_name"] + ".pdf";
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/pdf";
StringWriter s_tw = new StringWriter();
HtmlTextWriter h_textw = new HtmlTextWriter(s_tw);
Label1.Style.Add("font-size", "16pt");
Label2.Style.Add("font-size", "16pt");
Label3.Style.Add("font-size", "16pt");
h_textw.AddStyleAttribute("font-size", "8pt");
h_textw.AddStyleAttribute("color", "Black");
Panel1.RenderControl(h_textw);
Document doc = new Document();
PdfWriter.GetInstance(doc, Response.OutputStream);
doc.Open();
StringReader s_tr = new StringReader(s_tw.ToString());
HTMLWorker html_worker = new HTMLWorker(doc);
html_worker.Parse(s_tr);
doc.Close();
Response.Write(doc);
}
我想在此路径中保存此pdf“H:\ new \ web \ pdf_filename.pdf”
我正在使用ASP.Net C#。
答案 0 :(得分:0)
您无法指定客户端计算机上保存下载文件的位置。
如果您需要这种类型的功能,则需要在可以访问本地文件系统的浏览器客户端中运行插件。
浏览器会将您在附件标题值中指定的文件名作为建议,但即使这样,用户在实际保存时也可以覆盖它。
如果要将其保存在服务器上,只需使用任何与文件相关的方法或类型将其保存在本地(到服务器)的某个位置。
答案 1 :(得分:0)
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(@"H:\new\web\pdf_filename.pdf", FileMode.Create));
尝试查看是否有效,请确保您的身份验证类型允许用户访问该文件夹。不是每个人都将H驱动器映射到相同的网络路径,