public async Task<IStorageDirectory> CreateDirectory(IStorageDirectory parent, string name) { var newName = name + "/"; await CreateFile(parent, newName, new MemoryStream(0)); return await GetDirectory(new Uri(parent.Uri + newName)); }
public void GetRootOfRootDirectory() { IStorageDirectory directory = _client.GetDirectory(null).Result; Assert.AreEqual(directory.GetParent(), null); // Cleanup }
public async Task CreateFile(IStorageDirectory directory, string name, Stream file) { AWSStorageDirectory s3Directory = (directory as AWSStorageDirectory); if (s3Directory != null) { S3FileInfo s3File = s3Directory.DirectoryInfo.GetFile(name); if (!s3File.Exists) { string fullName = s3Directory.DirectoryInfo.GetDirectoryPath() + name; var request = new PutObjectRequest { BucketName = s3File.Directory.Bucket.Name, Key = fullName, InputStream = file }; PutObjectResponse response = await Task.Factory.FromAsync( _client.BeginPutObject(request, null, null), (result) => _client.EndPutObject(result)); } else { throw new ArgumentException("File already exists"); } } else { throw new ArgumentException("directory parameter must be created through the AWS library"); } }
public void GetRootDirectory() { IStorageDirectory directory = _client.GetDirectory(null).Result; Assert.AreEqual(directory.Name, "cloudsnet"); // Cleanup }
public async Task <IStorageDirectory> CreateDirectory(IStorageDirectory parent, string name) { var newName = name + "/"; await CreateFile(parent, newName, new MemoryStream(0)); return(await GetDirectory(new Uri(parent.Uri + newName))); }
public AzureStorageProvider(string connectionString) { _account = CloudStorageAccount.Parse(connectionString); var client = _account.CreateCloudBlobClient(); _rootDir = new AzureStorageDirectory(client.GetRootContainerReference()); }
public void CreateFileInSubDir() { IStorageDirectory directory = client.CreateDirectory(null, Guid.NewGuid().ToString()).Result; MemoryStream ms = new MemoryStream(Encoding.Default.GetBytes("this is a test")); client.CreateFile(directory, Guid.NewGuid().ToString(), ms).Wait(); Assert.AreEqual(directory.GetFiles().Count(), 1); }
/// <summary> /// 初始化类<see cref="FileStorageCache"/>。 /// </summary> /// <param name="cache">缓存接口。</param> /// <param name="root">存储文件夹。</param> /// <param name="db">缓存数据库操作接口。</param> public FileStorageCache(IMemoryCache cache, IStorageDirectory root, IDbContext <StorageCache> db) { _cache = cache; _db = db; _cacheRoot = root.GetPhysicalPath("caches"); if (!Directory.Exists(_cacheRoot)) { Directory.CreateDirectory(_cacheRoot); } }
/// <summary> /// 初始化类<see cref="MediaDirectory"/>。 /// </summary> /// <param name="directory">存储文件夹。</param> /// <param name="mfdb">数据库操作接口。</param> /// <param name="sfdb">数据库操作接口。</param> public MediaDirectory(IStorageDirectory directory, IDbContext <MediaFile> mfdb, IDbContext <StoredFile> sfdb) { _directory = directory; _mfdb = mfdb; _sfdb = sfdb; //媒体文件夹。 _media = directory.GetPhysicalPath("media"); //缩略图文件夹 _thumbs = directory.GetPhysicalPath("media/thumbs"); }
public void GetFirstLevelSubDirectory() { string name = Guid.NewGuid().ToString(); Uri uri = new Uri(name + "/", UriKind.Relative); _client.CreateDirectory(null, name).Wait(); IStorageDirectory directory = _client.GetDirectory(uri).Result; Assert.AreEqual(directory.Uri.ToString(), uri.ToString()); // Cleanup }
public void CreateSubDirectory() { // Setup IStorageDirectory newDirectory = _client.CreateDirectory(null, Guid.NewGuid().ToString()).Result; // Test IStorageDirectory subDirectory = _client.CreateDirectory(newDirectory, "sub").Result; Assert.AreEqual(subDirectory.GetParent().Name, newDirectory.Name); Assert.AreEqual(newDirectory.GetDirectories().Single().Name, "sub"); // Cleanup }
public async Task <IStorageDirectory> CreateDirectory(IStorageDirectory parent, string name) { AWSStorageDirectory newDirectory = null; // Verify the directory name ends with a / (specifies its a directory in AWS) S3DirectoryInfo parentDirectory; if (parent == null) { parentDirectory = _rootDirectory; } else { parentDirectory = ((AWSStorageDirectory)parent).DirectoryInfo; } S3DirectoryInfo directory = parentDirectory.GetDirectory(name); // Get the full path of the directory, without the bucket name at the beginning, and the tracking :/ string fullPath = directory.GetDirectoryPath(); // Check if directory already exists if (!directory.Exists) { var request = new PutObjectRequest { BucketName = _rootDirectory.Name, Key = fullPath, InputStream = new MemoryStream() }; PutObjectResponse response = await Task.Factory.FromAsync( _client.BeginPutObject(request, null, null), (result) => _client.EndPutObject(result)); newDirectory = directory.ToStorageDirectory(); } else { throw new Exception("Directory already exists"); } return(newDirectory); }
public async Task CreateFile(IStorageDirectory directory, string name, Stream file) { CloudBlobClient blobClient = _account.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference(directory.GetRoot().Name); if (!await Task <bool> .Factory.FromAsync(container.BeginExists, container.EndExists, null)) { await Task.Factory.FromAsync(container.BeginSetPermissions, container.EndSetPermissions, new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob }, null); CloudBlobDirectory d; CloudBlockBlob blob = container.GetBlockBlobReference(name); using (file) { await Task.Factory.FromAsync(blob.BeginUploadFromStream, blob.EndUploadFromStream, file, null); } } }
public async Task CreateFile(IStorageDirectory directory, string name, Stream file) { CloudBlobClient blobClient = _account.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference(directory.GetRoot().Name); if (!await Task<bool>.Factory.FromAsync(container.BeginExists, container.EndExists, null)) { await Task.Factory.FromAsync(container.BeginSetPermissions, container.EndSetPermissions, new BlobContainerPermissions {PublicAccess = BlobContainerPublicAccessType.Blob}, null); CloudBlobDirectory d; CloudBlockBlob blob = container.GetBlockBlobReference(name); using (file) { await Task.Factory.FromAsync(blob.BeginUploadFromStream, blob.EndUploadFromStream, file, null); } } }
public async Task<IStorageDirectory> CreateDirectory(IStorageDirectory parent, string name) { AWSStorageDirectory newDirectory = null; // Verify the directory name ends with a / (specifies its a directory in AWS) S3DirectoryInfo parentDirectory; if (parent == null) { parentDirectory = _rootDirectory; } else { parentDirectory = ((AWSStorageDirectory)parent).DirectoryInfo; } S3DirectoryInfo directory = parentDirectory.GetDirectory(name); // Get the full path of the directory, without the bucket name at the beginning, and the tracking :/ string fullPath = directory.GetDirectoryPath(); // Check if directory already exists if (!directory.Exists) { var request = new PutObjectRequest { BucketName = _rootDirectory.Name, Key = fullPath, InputStream = new MemoryStream() }; PutObjectResponse response = await Task.Factory.FromAsync( _client.BeginPutObject(request, null, null), (result) => _client.EndPutObject(result)); newDirectory = directory.ToStorageDirectory(); } else { throw new Exception("Directory already exists"); } return newDirectory; }
public IndexModel(IUserManager userManager, IStorageDirectory storageDirectory) { _userManager = userManager; _storageDirectory = storageDirectory; }
/// <summary> /// 初始化类<see cref="StorageTaskService"/>。 /// </summary> /// <param name="storageDirectory">存储文件夹接口。</param> /// <param name="serviceProvider">服务提供者。</param> public StorageTaskService(IStorageDirectory storageDirectory, IServiceProvider serviceProvider) { _storageDirectory = storageDirectory; _serviceProvider = serviceProvider; }
public EpubModel(IEpubManager epubManager, IStorageDirectory storageDirectory) { _epubManager = epubManager; _storageDirectory = storageDirectory; }
/// <summary> /// 初始化类<see cref="SensitiveWordManager"/>。 /// </summary> /// <param name="context">数据库操作实例。</param> /// <param name="storageDirectory">存储文件夹接口实例。</param> /// <param name="cache">缓存接口。</param> public SensitiveWordManager(IDbContext <SensitiveWord> context, IStorageDirectory storageDirectory, IMemoryCache cache) : base(context) { _storageDirectory = storageDirectory; _cache = cache; }
public Task <IStorageDirectory> CreateDirectory(IStorageDirectory parent, string name) { return(_provider.CreateDirectory(parent, name)); }
public Task<IStorageDirectory> CreateDirectory(IStorageDirectory parent, string name) { return _provider.CreateDirectory(parent, name); }
/// <summary> /// 初始化类<see cref="StorageController"/>。 /// </summary> /// <param name="storageDirectory">存储文件夹接口。</param> public StorageController(IStorageDirectory storageDirectory) { _storageDirectory = storageDirectory; }
/// <summary> /// 初始化类<see cref="AvatarManager"/>。 /// </summary> /// <param name="storageDirectory">存储文件夹操作接口。</param> public AvatarManager(IStorageDirectory storageDirectory) { _storageDirectory = storageDirectory; }
/// <summary> /// 初始化类<see cref="StorageTaskService"/>。 /// </summary> /// <param name="storageDirectory">存储文件夹接口。</param> /// <param name="mediaDirectory">媒体存储接口。</param> public StorageTaskService(IStorageDirectory storageDirectory, IMediaDirectory mediaDirectory) { _storageDirectory = storageDirectory; _mediaDirectory = mediaDirectory; }
public EpubManager(IStorageDirectory storageDirectory) { _storageDirectory = storageDirectory; _epubDirectory = storageDirectory.GetPhysicalPath("epub").MakeDirectory(); }
/// <summary> /// 初始化类<see cref="StorageController"/>。 /// </summary> /// <param name="mediaFileProvider">媒体文件提供者接口。</param> /// <param name="storageDirectory">存储文件夹接口。</param> public StorageController(IMediaDirectory mediaFileProvider, IStorageDirectory storageDirectory) { _mediaFileProvider = mediaFileProvider; _storageDirectory = storageDirectory; }
/// <summary> /// 初始化类<see cref="ClearTaskService"/>。 /// </summary> /// <param name="storageDirectory">存储文件夹接口。</param> public ClearTaskService(IStorageDirectory storageDirectory) { _storageDirectory = storageDirectory; }
public Task CreateFile(IStorageDirectory directory, string name, Stream file) { return _provider.CreateFile(directory, name, file); }
public EpubManager(IStorageDirectory storageDirectory) { _storageDirectory = storageDirectory; }
public Task CreateFile(IStorageDirectory directory, string name, Stream file) { return(_provider.CreateFile(directory, name, file)); }
public DefaultMediaDirectory(IStorageDirectory directory, IDbContext <MediaFile> mfdb, IDbContext <StoredFile> sfdb) : base(directory, mfdb, sfdb) { }
/// <summary> /// 初始化类<see cref="StorageTaskService"/>。 /// </summary> /// <param name="storageDirectory">存储文件夹接口。</param> /// <param name="storageDirectory">媒体文件夹接口。</param> public StorageTaskService(IStorageDirectory storageDirectory, IMediaDirectory mediaDirectory) : base(storageDirectory) { _mediaDirectory = mediaDirectory; }