public void DeleteFile(string path) { path = CleanPath(path); var file = new S3FileInfo(_client, _amazonS3StorageConfiguration.AWSFileBucket, path); file.Delete(); }
/// <summary> /// Move feature with source delete and option for overwrite. /// </summary> /// <param name="file"></param> /// <param name="path"></param> /// <param name="overwrite"></param> /// <returns>FileInfo</returns> public static FileInfo MoveToLocal(this S3FileInfo file, string path, bool overwrite) { var localFile = file.CopyToLocal(path, overwrite); file.Delete(); return(localFile); }
/// <summary> /// Implementation of the ZephyrFile Delete method in Amazon S3 Storage. /// </summary> /// <param name="stopOnError">Throw an exception when an error occurs.</param> /// <param name="verbose">Log details of file deleted.</param> /// <param name="callbackLabel">Optional "label" to be passed into the callback method.</param> /// <param name="callback">Optional method that is called for logging purposes.</param> public override void Delete(bool stopOnError = true, bool verbose = true, string callbackLabel = null, Action <string, string> callback = null) { try { if (_client == null) { throw new Exception($"AWSClient Not Set."); } S3FileInfo fileInfo = new S3FileInfo(_client.Client, BucketName, ObjectKey); if (fileInfo.Exists) { if (IsOpen) { Close(); } fileInfo.Delete(); } if (verbose) { Logger.Log($"File [{FullName}] Was Deleted.", callbackLabel, callback); } } catch (Exception e) { Logger.Log(e.Message, callbackLabel, callback); if (stopOnError) { throw; } } }
/// <summary> /// Delete Directory from S3 /// </summary> /// <param name="uploadDirectory"></param> /// <param name="bucket"></param> /// <returns></returns> public bool DeleteAsset(string bucket, string uploadDirectory) { try { S3DirectoryInfo directoryToDelete = new S3DirectoryInfo(_client, bucket, uploadDirectory); var directoryFiles = directoryToDelete.EnumerateFiles(); foreach (S3FileInfo file in directoryFiles) { S3FileInfo filetoDelete = new S3FileInfo(_client, bucket, file.FullName.Replace(bucket + ":\\", string.Empty)); if (filetoDelete.Exists) { filetoDelete.Delete(); } } if (directoryToDelete.Exists) { directoryToDelete.Delete(false); return(true); } } catch (Exception exception) { Console.WriteLine(exception.InnerException.Message); return(false); } return(false); }
public static void DeleteFileInAmazonS3(string bucketName, string fileName) { using (AmazonS3Client client = new AmazonS3Client()) { S3FileInfo s3FileInfo = new S3FileInfo(client, bucketName, fileName); if (s3FileInfo.Exists) { s3FileInfo.Delete(); } } }
public void DeleteFile(string path) { if (!IsFileExists(path)) { throw new InvalidOperationException("File " + path + " does not exist"); } var fileInfo = new S3FileInfo(_amazonS3, _bucketName, path); fileInfo.Delete(); }
public Stream GetObjectStream(string bucketName, string objectKey, S3FileMode fileMode = S3FileMode.Open, S3FileAccess fileAccess = S3FileAccess.Read) { Stream stream = null; S3FileInfo file = new S3FileInfo(client, bucketName, objectKey); bool fileExists = file.Exists; if (fileMode == S3FileMode.Create || fileMode == S3FileMode.CreateNew || fileMode == S3FileMode.Truncate) { if (fileExists) { if (fileMode == S3FileMode.CreateNew) { throw new Exception($"Object [s3://{bucketName}/{objectKey}] Already Exists."); } file.Delete(); } else if (fileMode == S3FileMode.Truncate) { throw new Exception($"Object [s3://{bucketName}/{objectKey}] Does Not Exist."); } stream = file.Create(); } else if (fileMode == S3FileMode.Open || fileMode == S3FileMode.OpenOrCreate) { if (!fileExists) { if (fileMode == S3FileMode.Open) { throw new Exception($"Object [s3://{bucketName}/{objectKey}] Does Not Exist."); } stream = file.Create(); stream.Close(); } if (fileAccess == S3FileAccess.Read) { stream = file.OpenRead(); } else { stream = file.OpenWrite(); } } return(stream); }
public override void Delete() { BackingFile.Delete(); }