【问题标题】:c#.net website - How to let user choose a folder?c#.net website - 如何让用户选择文件夹?
【发布时间】:2011-07-16 08:57:23
【问题描述】:

我基本上想通过单击按钮打开一个对话框。用户将选择一个目标文件夹,然后使用对话框中的路径在所选文件夹中创建一个文本文件。

我使用过asp.net 的FileUpload 来上传文件,但我不知道如何使用它来选择文件夹。还是有其他方法可以做到这一点?请帮忙 。谢谢。

【问题讨论】:

  • 你想达到哪里?您要浏览用户文件系统以查找下载位置,还是浏览服务器文件系统以查找上传位置?
  • 我想做的是从我的数据库表中获取数据。将该数据添加到 .txt 文件中并将其保存在临时文件夹中。然后我需要让用户选择所需的文件夹位置,然后将此文件复制到用户选择的文件夹中。
  • 我只是需要路径。

标签: c# asp.net


【解决方案1】:

您可以写入用户计算机上的文件夹的唯一方法是让用户单击一个按钮,然后您的服务器将发送文件,并且将提示用户他想要保存它的位置:

public void BtnDownload_Click(object sender, EventArgs e)
{
    Response.Clear();
    Response.ContentType = "text/plain";
    Response.AppendHeader("Content-Disposition", "attachment; filename=foo.txt");
    Response.Write("some text contents that will be sent to the user");
}

现在只需将此下载按钮放在页面上的某个位置:

<asp:LinkButton 
    ID="BtnDownload" 
    runat="server"
    OnClick="BtnDownload_Click" 
    Text="Download file" 
/>

您在问题中提到的FilUpload 控件用于客户端将文件上传到服务器,而不是用于下载。

【讨论】:

    【解决方案2】:

    浏览器通常不会让您直接访问用户驱动器。这是一个安全问题。如前所述,您通常只需将文件发送到用户浏览器,然后他们/它决定将其保存在哪里等。

    您尝试做的事情可能可以使用 java 或 silverlight 等来完成。不过我怀疑您是否想去那里。

    您是否有某些原因不能像通常下载文件一样将文件发送给他们并让他们/他们的浏览器决定如何保存文件?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-08
      • 2022-07-25
      • 2021-11-30
      • 2011-02-03
      • 2021-04-22
      • 2013-07-12
      • 1970-01-01
      • 2016-05-07
      相关资源
      最近更新 更多