public void RenameDirectory(string directoryName, string newDirectoryName) { S3DirectoryInfo s3DirectoryInfo = new S3DirectoryInfo(Client, Bucket, directoryName); if (!new S3DirectoryInfo(Client, Bucket, newDirectoryName).Exists) { CreateFolder(StorageUtils.NormalizeDirectoryName(newDirectoryName)); } foreach (IS3FileSystemInfo file in s3DirectoryInfo.GetFileSystemInfos()) { if (file.Type == FileSystemType.Directory) { RenameDirectory(directoryName + "\\" + file.Name, newDirectoryName + "\\" + file.Name); } else { Rename(directoryName.Replace("\\", StorageUtils.DELIMITER) + StorageUtils.DELIMITER + file.Name, newDirectoryName.Replace("\\", StorageUtils.DELIMITER) + StorageUtils.DELIMITER + file.Name, GxFileType.Public); } } s3DirectoryInfo.Delete(); }
public IEnumerable <Video> GetVideos() { S3DirectoryInfo dir = new S3DirectoryInfo(s3Client, bucketName, "GameCaptures"); foreach (IS3FileSystemInfo file in dir.GetFileSystemInfos()) { var url = s3Client.GetPreSignedURL(new GetPreSignedUrlRequest { BucketName = bucketName, Key = "GameCaptures/" + file.Name, Expires = DateTime.UtcNow.AddMinutes(30) }); var video = db.Videos.FirstOrDefault(v => v.FileName == file.Name); if (video != null) { db.Videos.FirstOrDefault(v => v.FileName == file.Name).Url = url; db.SaveChanges(); } else { Video newVideo = new Video { Url = url, Title = file.Name, FileName = file.Name, LastUpdated = file.LastWriteTime }; db.Videos.Add(newVideo); db.SaveChanges(); } } var videos = db.Videos.ToList(); return(videos); }