ASP.net下载并保存用户文件夹中的文件

我试图将文件保存到用户PC但我无法做到这一点。 此方法出错,因为尝试将文件保存在某处的C中。 我明白这不合适。 我想将文件保存在下载文件夹中,或者通过文件对话框提示用户。

void SaveReport(Telerik.Reporting.Report report, string fileName) { ReportProcessor reportProcessor = new ReportProcessor(); Telerik.Reporting.InstanceReportSource instanceReportSource = new Telerik.Reporting.InstanceReportSource(); instanceReportSource.ReportDocument = report; RenderingResult result = reportProcessor.RenderReport("PDF", instanceReportSource, null); using (FileStream fs = new FileStream(fileName, FileMode.Create)) { fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length); } } 

如何将文件保存在用户计算机的下载文件夹中,或者提示文件列表以允许用户选择目的地?

您无法强制下载文件的位置。

在您的代码中,您不应该写入文件,而应该从响应写入OutputStream

 RenderingResult result = reportProcessor.RenderReport("PDF", instanceReportSource, null); HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=\"file.pdf\""); HttpContext.Current.Response.OutputStream.Write(result.DocumentBytes, 0, result.DocumentBytes.Length); 

Filestream将写入服务器上的文件而不是客户端的计算机上。

尝试将文档字节写入响应输出流,并将content-disposition http标头写入响应。

Response.AddHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");

这将根据浏览器设置提示用户进行文件下载。

您无法控制客户端计算机中的目录文件。