コード例 #1
0
        private async Task <UploadJsonDto> UploadJson(string fileName, Stream stream, bool isShared)
        {
            var jsonFileMetadata = new Google.Apis.Drive.v3.Data.File
            {
                Name = $"{fileName}.json"
            };

            var jsonFileRequest = await Upload(fileName, jsonFileMetadata, stream, isShared);

            return(new UploadJsonDto(jsonFileRequest.ResponseBody.Id, jsonFileRequest.ResponseBody.WebContentLink));
        }
コード例 #2
0
        private async Task <string> UploadFile(string fileName, string fileExtension, Stream stream, string jsonFileId, bool isShared)
        {
            var encryptedFileMetadata = new Google.Apis.Drive.v3.Data.File
            {
                Name          = fileName + fileExtension,
                AppProperties = new Dictionary <string, string>
                {
                    { "JsonFileId", jsonFileId }
                }
            };

            var encryptedFileRequest = await Upload(fileName, encryptedFileMetadata, stream, isShared);

            return(encryptedFileRequest.ResponseBody.WebContentLink);
        }
コード例 #3
0
        private async Task <FilesResource.CreateMediaUpload> Upload(string fileName, Google.Apis.Drive.v3.Data.File fileMetadata, Stream stream, bool isShared)
        {
            var mimeType = MimeTypesMap.GetMimeType($"{fileName}.json");

            var fileRequest = _driveService.Files.Create(fileMetadata, stream, mimeType);

            fileRequest.Fields = "*";
            var result = await fileRequest.UploadAsync();

            if (result.Status != UploadStatus.Completed)
            {
                throw new Exception("Error while uploading json file!");
            }

            if (isShared)
            {
                await SetPermissions(fileRequest.ResponseBody.Id);
            }

            return(fileRequest);
        }