首页 > 解决方案 > C#:如何使用 Google Drive API v3 将文件上传到特定文件夹 - Windows 控制台应用程序

问题描述

我正在尝试使用 c# 将图像上传到我的谷歌驱动器。如果我想上传到根目录,这段代码可以正常工作。但我想将我的图片上传到我的云端硬盘中的特定文件夹。需要建议。

private static void UploadBasicImage(string file_path,DriveService service)
    {
        var fileMetadata = new Google.Apis.Drive.v3.Data.File();
        fileMetadata.Name = Path.GetFileName(path);
        fileMetadata.MimeType = "image/png";
        FilesResource.CreateMediaUpload request;
        using (var stream = new System.IO.FileStream(path,System.IO.FileMode.Open))
        {
            request = service.Files.Create(fileMetadata, stream, fileMetadata.MimeType);
            request.Fields = "id";
            request.Upload();
        }
        var file = request.ResponseBody;
    }

标签: c#file-uploadgoogle-apigoogle-drive-apigoogle-api-dotnet-client

解决方案


这是我刚刚想出的解决方案:
完整的详细信息在这里

        public static void FileUploadInFolder(string folderId, string path, DriveService service)
    {
        var FileMetaData = new Google.Apis.Drive.v3.Data.File()
        {
            Name = Path.GetFileName(path),
            MimeType = GetMimeType(path),
            //id of parent folder 
            Parents = new List<string>
                {
                    folderId
                }
        };
        FilesResource.CreateMediaUpload request;
        //create stream and upload
        using (var stream = new System.IO.FileStream(path, System.IO.FileMode.Open))
        {
            request = service.Files.Create(FileMetaData, stream, FileMetaData.MimeType);
            request.Fields = "id";
            request.Upload();
        }
        var file1 = request.ResponseBody;
    }

推荐阅读