打开csv文件并将其显示给用户(.Net)

时间:2011-08-03 12:12:23

标签: .net file

在一个.net网站项目中,我有一个csv文件(位于项目的app_data文件夹中),我在用户点击按钮后写了数据。现在我想打开文件并向用户显示内容(就像他在windows shell中点击它一样),这样用户就可以检查数据并将文件保存到他想要的文件夹中。我怎么能做到这一点?

2 个答案:

答案 0 :(得分:3)

为什么您希望服务器能够在客户端上打开文件?使用关联的shell处理程序打开任意文件将是一个很大的安全漏洞。

您可以将数据显示为网站的一部分,然后提供下载。

答案 1 :(得分:0)

有必要将服务器响应重定向到csv文件。

string path = context.Server.MapPath(String.Format(@"~/App_Data/" + csvFile));

using (FileStream fs = new FileStream(path, FileMode.Open))
            {
                long FileSize = fs.Length;

                byte[] Buffer = new byte[(int)FileSize];
                fs.Read(Buffer, 0, (int)FileSize);

                Response.Clear();
                Response.AddHeader("Content-Disposition", "attachment;filename=Export.csv");
                Response.ContentType = "text/csv";
                Response.BinaryWrite(Buffer);

                Response.Flush();
            }

客户端收到该文件,可以打开并编辑它。