我想在asp.net中打开文件并在编辑后将其保存回来

时间:2013-08-12 10:57:58

标签: c# asp.net

我可以在浏览器中打开excel文件,或者只是打开它进行一些更改并再次保存。我有一个文件存储在我的文件系统(驱动器)中,我需要从那里读取该文件并打开它进行一些更改并再次保存。我的应用程序是基于Web的,我不希望它要求我打开它或保存它(就像它提供正常下载),我只是想打开就像它打开word或excel。这样做的唯一目的是我将这些文件集中存储在我的服务器中,用户可以访问。我只是不想要创建文件的版本。我想控制我的编辑。            我知道根据我的知识不能做到这一点,但有一些事实是你不知道你不知道;-)

请帮助。

1 个答案:

答案 0 :(得分:0)

假设这是一个文本文件,您可以将其读入文本框,进行编辑,然后只覆盖旧文件。

假设您正在使用名为“hello.csv”的CSV文件,您可以执行以下操作:

ASPX代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="btnRead" runat="server" Text="Read text file" 
            onclick="btnRead_Click" />

        <p><asp:TextBox ID="tb1" TextMode="MultiLine" runat="server" Height="168px" Width="624px"></asp:TextBox></p>

        <p><asp:Button ID="btnWrite" runat="server" Text="Write text file" 
                onclick="btnWrite_Click" /></p>
    </div>
    </form>
</body>
</html>

代码隐藏:

导入System.IO名称空间。

protected void btnRead_Click(object sender, EventArgs e)
{
    string fileText;
    using (StreamReader sr = new StreamReader(Server.MapPath("hello.csv")))
    {
        fileText = sr.ReadToEnd();
        tb1.Text = fileText;
        sr.Dispose();
    }
}

protected void btnWrite_Click(object sender, EventArgs e)
{
    StreamWriter sw = new StreamWriter(Server.MapPath("hello.csv"));
    sw.Write(tb1.Text);
    sw.Dispose();
}

根据您的需要,您可能需要调整方法,但这应该可以让您开始。