【问题标题】:Open file on the desktop from ASP.NET and C#从 ASP.NET 和 C# 在桌面上打开文件
【发布时间】:2016-04-29 15:07:32
【问题描述】:

我想要一个在桌面上打开文件的简单解决方案。下面是我要打开的文件路径。我不想使用浏览按钮上传文件。我只想将该文件作为文本文件加载并被读取。

"C:\Users\Donald\Desktop\ingredients.txt"

【问题讨论】:

  • 由谁阅读?用户?
  • 是的,所以我是用户。我在桌面上有那个文件,我想打开它而不必浏览对话或自己去桌面。它只是找到它并打开。
  • Process.Start("C:\Users\Donald\Desktop\ingredients.txt"); 将在默认应用程序中打开它。
  • 您的标签提到了 ASP.net,您的意思是您想从浏览器应用程序中打开文件吗? IE。在 JavaScript 中?
  • 如果我错了,请更正这一点,但您希望用户能够使用网络浏览器(您的 asp.net 应用程序)来查找文件(单击按钮或其他内容)并使用javascript 或通过帖子将其发送到服务器。如果我错了,并且您想直接在服务器中打开它,那么您不能。服务器应该(并且不能)知道有关用户桌面的任何信息。

标签: c# asp.net


【解决方案1】:

哎呀。刚刚意识到您想通过 ASP.Net 又名通过 Web 浏览器执行此操作。

你不能那样做。因为如果任何旧网页可以访问并抓取文件,这将是一个巨大的安全风险。不过,HTML5 极大地改进了文件系统访问。有很多问题,answers 很好,关于如何支持拖放文件上传等。但是你的 javascript 永远不应该被允许伸手去抓取文件,想象一下如果他们的桌面有supersecretPasswords,CreditCardNumbers,AndSocialSecurity.csv

如果您真的需要,您可以使用小程序,但请注意,对这些小程序的支持已经被逐步淘汰。 Source

C# 有一个用于桌面的常量,假设您知道文件的名称... 字符串 desktopPath = Environment.GetFolderPath(System.Environment.SpecialFolder.DesktopDirectory); File myFile = new File(desktopPath + "ingredients.txt");

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-04
    • 2021-06-28
    • 2021-11-16
    • 1970-01-01
    相关资源
    最近更新 更多