希望这是个简单问题。我需要编写一些报告,然后让用户提示将其保存到本地计算机。上次我这样做时,我在 Web 服务器上编写了一个文件,然后通过 Response
对象将它发送给客户端。
在 Web 服务器上创建
TextWriter tw = new StreamWriter(filePath);
发送给客户端
page.Response.WriteFile(path);
问题是,有没有一种方法可以跳过将物理文件写入Web服务器,并直接从表示文档的对象到响应?
IReport rpt = new ContxReport(); string report = rpt.makeReport(); ASCIIEncoding encoding = new ASCIIEncoding(); byte[] encodedReport = encoding.GetBytes(report); Response.ContentType = "text/plain"; Response.OutputStream.Write(encodedReport, 0, encodedReport.Length); Response.AddHeader("Content-Disposition", "inline;filename=shit.csv"); Response.End();
- jim