使用WebClient上传文件时遇FileNotFoundException异常求助
问题排查与解决
首要排查点:文件名后缀拼写错误
你代码中指定的本地文件路径是 @"C:/Temp/~myfile.xslx",内部异常提示找不到的文件也是这个路径。请立刻核对本地实际文件的后缀:Excel文件的标准后缀是 .xlsx,如果你的实际文件后缀是 .xlsx,但代码里写成了 .xslx(多了一个字母l),这会直接导致系统找不到文件。
其他可能的问题点
- 路径格式与权限:
- 虽然C#支持
/作为路径分隔符,但Windows环境下建议使用\(配合@避免转义),修改为@"C:\Temp\~myfile.xlsx"测试。 - 确认程序运行的身份有读取该文件的权限:如果是在服务、IIS或受限账户下运行,可能无法访问
C:\Temp目录,尝试将文件移到桌面等公开目录再测试。
- 虽然C#支持
- 代码语法错误:
你的代码存在两处语法问题,虽可能是输入笔误,但也可能影响执行:newUri应为new Uri(正确的构造函数调用,注意空格和类名大写)new Uri(...)括号后多了一个分号,需删除
修正后的示例代码
using (var client = new WebClient()) { client.Credentials = new NetworkCredential(myname, mypassword); byte[] responseArray = client.UploadFile( new Uri("https://www.syros.nl/prive/excel/newexcelfile.xlsx"), "POST", @"C:\Temp\~myfile.xlsx"); // 修正后缀与路径分隔符 }
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

