Esempio n. 1
0
        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);
        }