上传JPG至Google Drive时遇System.UnauthorizedAccessException权限拒绝问题
问题分析与解决方案
核心问题
你遇到的System.UnauthorizedAccessException并非Google Drive权限配置问题,而是代码中指定的filePath指向的是文件夹而非具体的JPG文件。FileStream初始化时尝试以文件流方式打开文件夹,系统会返回访问拒绝错误。
具体修复步骤
修正文件路径
将filePath从文件夹路径改为具体的JPG文件路径,例如:static string filePath = "c:\\folderName\\photo.jpg";验证本地文件权限
- 确认运行程序的用户账户对目标JPG文件拥有读取权限
- 检查文件是否被其他程序(如图片查看器)占用,导致无法读取
额外检查点
- 核对文件路径拼写,确保无错误(比如大小写、斜杠方向)
- 若路径包含空格或特殊字符,建议用
@符号避免转义问题:static string filePath = @"c:\folderName\photo with space.jpg";
修正后的关键代码片段
static string filePath = "c:\\folderName\\photo.jpg"; // 改为具体文件路径 // ... using (var stream = new FileStream(filePath, FileMode.Open)) { request = service.Files.Create( fileMetadata, stream, "image/jpeg"); request.Fields = "id"; request.Upload(); }
补充说明
你之前配置的OAuth 2.0客户端ID、Drive文件夹的Everyone权限,都是针对Google Drive服务端的配置,和本地文件访问权限无关。当前错误完全是本地文件路径错误导致的,修正路径后即可解决。
内容的提问来源于stack exchange,提问作者BAST23
相关产品推荐
相关产品推荐

