以winforms保存文件

本文关键字:保存文件 winforms | 更新日期: 2023-09-27 18:03:36

我是winforms的新手。当我试图用下面的代码将文件保存在winforms中时,它会给我一个错误,上面写着:URI formats are not supported.

请告诉我如何将文件从源路径保存到目标路径。提前谢谢。这是我的代码:

 private void BtnBussinessBalanceSheet_Click(object sender, EventArgs e)
        {
            var sourceFile = "http://112.196.33.86:131/Documents/BussinessDocuments/";
            if (BrwsBussinessTaxReturn.ShowDialog() == DialogResult.OK)
            {
                BrwsBussinessTaxReturn.Filter = "Excel Files|*.xls;*.xlsx;*.xlsm|Text|*.txt|Office Files|*.doc;*.xls;*.ppt";
                File.Copy(BrwsBussinessTaxReturn.FileName, sourceFile + BrwsBussinessTaxReturn.SafeFileName); //error occured
            }
        }

以winforms保存文件

不能使用System.IO.File从URI复制文件,必须将文件下载到临时位置,然后使用System.IO.File.copy(fromPath,toPath(进行复制;正如错误所说的"不支持URI格式。"你不能复制URI。从互联网下载文件的代码:

using (var client = new WebClient())
{
    client.DownloadFile("http://blablabla.pl/file.png", "C:'Path'To'Save'File'a.png");
}

我建议在另一个线程上使用它,下载大文件可能会冻结UI线程!

下一个错误是:BrwsBussinessTaxReturn.Filter = "Excel Files|*.xls;*.xlsx;*.xlsm|Text|*.txt|Office Files|*.doc;*.xls;*.ppt";应在BrwsBussinessTaxReturn.ShowDialog(); 之前定义

可能有点晚,但我建议您使用如下的http客户端下载:

    private async void getfile()
    {
        HttpClient c = new HttpClient();
        string file = await c.GetStringAsync("http://example.com/");
    }