コード例 #1
0
        public void CopyFile(string originalPath, string duplicatePath)
        {
            originalPath  = CleanPath(originalPath);
            duplicatePath = CleanPath(duplicatePath);
            var file    = new S3FileInfo(_client, _amazonS3StorageConfiguration.AWSFileBucket, originalPath);
            var newFile = new S3FileInfo(_client, _amazonS3StorageConfiguration.AWSFileBucket, duplicatePath);

            file.CopyTo(newFile);
            PublishFile(duplicatePath);
        }
コード例 #2
0
        private static void CopyOrMoveFiles(IAmazonS3 client, S3DirectoryInfo origin, S3DirectoryInfo target, bool moveFiles, S3FileInfo file)
        {
            string currentFile   = file.FullName.Replace($"{origin.Bucket.Name}:\\", string.Empty);
            string originFolder  = currentFile.Split('\\').First();
            string targetFolder  = target.FullName.Replace($"{target.Bucket.Name}:\\", string.Empty).Split('\\').First();
            string newFile       = currentFile.Replace(originFolder, targetFolder);
            string verbOperation = moveFiles ? "moved" : "copied";

            S3FileInfo fileOrigin = new S3FileInfo(client, origin.Bucket.Name, currentFile);

            if (!moveFiles)
            {
                fileOrigin.CopyTo(new S3FileInfo(client, target.Bucket.Name, newFile), true);
            }
            else
            {
                fileOrigin.MoveTo(new S3FileInfo(client, target.Bucket.Name, newFile));
            }

            Console.WriteLine(string.Format("File {0} {1} to {2}", fileOrigin.FullName, verbOperation, newFile));
        }