C#System.UnauthorizedAccessException当使用流时

C#System.UnauthorizedAccessException当使用流时,c#,C#,我正试图通过我的C#程序将一些文件上传到谷歌硬盘。我正在使用stream与Google Drive API函数一起上传文件。但我有一个名为System.UnauthorizedAccessException的异常。但是当我使用File.ReadAllText函数时,我没有得到异常。这是我的代码,例外情况在第7行。谢谢你的回答 public void uploadFile(string path, DriveService service) { var fileMetadata = new

我正试图通过我的C#程序将一些文件上传到谷歌硬盘。我正在使用stream与Google Drive API函数一起上传文件。但我有一个名为System.UnauthorizedAccessException的异常。但是当我使用File.ReadAllText函数时,我没有得到异常。这是我的代码,例外情况在第7行。谢谢你的回答

public void uploadFile(string path, DriveService service)
{
    var fileMetadata = new Google.Apis.Drive.v3.Data.File();
    fileMetadata.Name = Path.GetFileName(path);
    fileMetadata.MimeType = "txt";
    FilesResource.CreateMediaUpload request;
    using (var stream = new System.IO.FileStream(path, System.IO.FileMode.Open))
    {
        request = service.Files.Create(fileMetadata, stream, "txt");
        request.Fields = "id";
        request.Upload();
    }

    var file = request.ResponseBody;
}
编辑1:

有指向GitHub的链接,指向我的项目的完整源代码:

用于打开文件以进行只读访问

using (var stream = File.OpenRead(path))
{
    // ...
}

路径中有什么?请在代码中用注释指出引发错误的行,而不是使用行号,因为行号没有。@Amy:这是一行:
使用(var stream=new System.IO.FileStream(path,System.IO.FileMode.Open,System.IO))
@PeterVeris这很明显。
path
实际上包含什么?@peterver是可以的,这是本地HD上的一个路径,所以应该可以。文件是否存在于该路径?您有权读取它吗?考虑到该方法只返回
newfilestream(path,FileMode.Open,FileAccess.read,FileShare.read),并且构造函数OP使用的默认值是
FileShare.Read
,我认为这不会解决任何问题。@Amy在OP中。第三个参数没有指定,这意味着将使用
FileAccess.ReadWrite
,同时请求对文件的写访问权。你是对的,我只是注意到我看错了构造函数重载。
FileAccess
取决于
FileMode
(Append->Write,其他任何内容都是ReadWrite)。@NineBerry当我使用(var stream=System.IO.File.OpenRead(path))时,它仍然会给我一个例外。@PeterVeris但是当你在同一个用户运行的同一个应用程序中使用
File.ReadAllText()
时(顺便问一下,这是什么?),那它行吗?这很难相信。