文件名/目录名无效,Azure Blob存储文件上传报错求助(文件已存在)
问题排查与解决
核心错误原因
你的代码里localFilePath字符串存在转义字符解析错误:
var localFilePath = "C:\\Users\\LK\\source\repos\dsd-ica-perf\\src\\et.ure.ica.Perf\\PerfTest.cs";
注意\repos和\dsd-ica-perf中的单个反斜杠\,在C#常规字符串中会被当作转义符处理(比如\r会被解析为回车符),导致实际路径和预期不符,系统无法识别正确的文件位置,因此抛出“文件名、目录名或卷标无效”错误。
修复方案
有两种方式修正路径字符串:
方式1:使用双反斜杠转义
把路径中所有单个反斜杠\替换为双反斜杠\\,确保路径被正确解析:
var localFilePath = "C:\\Users\\LK\\source\\repos\\dsd-ica-perf\\src\\et.ure.ica.Perf\\PerfTest.cs";
方式2:使用逐字字符串前缀@
在字符串前添加@符号,让C#直接按字面解析路径,无需手动转义反斜杠:
var localFilePath = @"C:\Users\LK\source\repos\dsd-ica-perf\src\et.ure.ica.Perf\PerfTest.cs";
额外优化建议
- 代码中
uploadingFileStream.Close()可以删除,因为using语句会自动释放文件流资源,无需手动关闭。 - 可添加文件存在性检查,提前排查问题:
if (!File.Exists(localFilePath)) { Console.WriteLine($"文件不存在:{localFilePath}"); return; }
内容的提问来源于stack exchange,提问作者undefined
相关产品推荐
相关产品推荐

