public async Task<string> getBucketImage(string eventImageName,string savingPath, string bucketName) { string imagePath = savingPath + eventImageName; try { if (eventImageName.Length != 0 && savingPath.Length != 0) { string googleCloudEnvVar = SetEnvironmentVariable.getGoogleCloudEnvironmentVariable(); GoogleCredential credential = GoogleCredential.FromFile(googleCloudEnvVar); var storage = StorageClient.Create(credential); using (var outputFile = File.OpenWrite(savingPath+ @"\" + eventImageName)) { await storage.DownloadObjectAsync(bucketName, eventImageName, outputFile); } Console.WriteLine($"downloaded {eventImageName} to {savingPath}."); } } catch (Exception ex) { throw ex; } return imagePath; }
public async Task<bool> deleteImageFromCloud(ImageEntity imageEntity,string bucketName) { bool imageDeleted = false; try { if (imageEntity != null) { string googleCloudEnvVar = SetEnvironmentVariable.getGoogleCloudEnvironmentVariable(); GoogleCredential credential = GoogleCredential.FromFile(googleCloudEnvVar); var storageClient = StorageClient.Create(credential); await storageClient.DeleteObjectAsync(bucketName, imageEntity.link); Console.WriteLine("uploaded the file successfully"); imageDeleted = true; } } catch (Exception ex) { throw ex; } return imageDeleted; }
public string addImage(string imagePath, string imageId,string bucketName) { SetEnvironmentVariable.setGoogleCloudEnvironmentVariable(); string eventImageLink = ""; try { if (imagePath.Length != 0) { string sharedkeyFilePath = SetEnvironmentVariable.getGoogleCloudEnvironmentVariable(); GoogleCredential credential = null; using (var jsonStream = new FileStream(sharedkeyFilePath, FileMode.Open, FileAccess.Read, FileShare.Read)) { credential = GoogleCredential.FromStream(jsonStream); } var storageClient = StorageClient.Create(credential); string[] spliters = { @"\" }; string filetoUpload = imagePath; string[] splitedString = imagePath.Split(spliters, StringSplitOptions.RemoveEmptyEntries); string fileName = splitedString[splitedString.Length - 1]; string[] spliters1 = { "." }; string[] splitedFileName = fileName.Split(spliters1, StringSplitOptions.RemoveEmptyEntries); string newFileName = ""; for (int i = 0; i < splitedFileName.Length; i++) { if (i != 0) { newFileName += "."; } newFileName += splitedFileName[i]; if (i == splitedFileName.Length - 2) { newFileName = newFileName + imageId; } } eventImageLink = newFileName; //check if object with name like this exists try { Google.Apis.Storage.v1.Data.Object GoogleFirestoreObject = storageClient.GetObject(bucketName, fileName); } catch (Exception ex) { Console.WriteLine("GoogleFirestoreObject does not exist"); } using (var fileStream = new FileStream(filetoUpload, FileMode.Open, FileAccess.Read, FileShare.Read)) { storageClient.UploadObject(bucketName, newFileName, "text/plain", fileStream); } Console.WriteLine("uploaded the file successfully"); } } catch (Exception ex) { throw ex; } SetEnvironmentVariable.setFirestoreEnvironmentVariable(); return eventImageLink; }