public async Task StoreAsync(string relativePath, Func <Stream, Task> write, BlobStoreOptions options = BlobStoreOptions.None) { var absolutePath = ResolvePath(relativePath, createDirectories: true); using (var outputStream = new FileStream(absolutePath, options == BlobStoreOptions.Overwrite ? FileMode.Create : FileMode.CreateNew, FileAccess.Write, FileShare.Read)) { await write(outputStream); } }
public async Task StoreAsync(string relativePath, IBlob blob, BlobStoreOptions options = BlobStoreOptions.None) { var absolutePath = ResolvePath(relativePath, createDirectories: true); using (var inputStream = blob.PreferAsync ? await blob.OpenReadAsync() : blob.OpenRead()) using (var outputStream = new FileStream(absolutePath, options == BlobStoreOptions.Overwrite ? FileMode.Create : FileMode.CreateNew, FileAccess.Write, FileShare.Read)) { await inputStream.CopyToAsync(outputStream); } }
public void Store(string relativePath, IBlob blob, BlobStoreOptions options = BlobStoreOptions.None) { var absolutePath = ResolvePath(relativePath, createDirectories: true); using (var inputStream = blob.OpenRead()) using (var outputStream = new FileStream(absolutePath, options == BlobStoreOptions.Overwrite ? FileMode.Create : FileMode.CreateNew, FileAccess.Write, FileShare.Read)) { inputStream.CopyTo(outputStream); } }
public async Task StoreAsync(string relativePath, IBlob blob, BlobStoreOptions options = BlobStoreOptions.None) { var containerClient = await GetContainerClientAsync(); var blobClient = containerClient.GetBlobClient(relativePath); if (options != BlobStoreOptions.Overwrite && await blobClient.ExistsAsync()) { throw new IOException("Blob already exists"); } using (var inputStream = await blob.OpenReadAsync()) { await blobClient.UploadAsync(inputStream); } }
public void Store(string relativePath, IBlob blob, BlobStoreOptions options = BlobStoreOptions.None) { var containerClient = GetContainerClient(); var blobClient = containerClient.GetBlobClient(relativePath); if (options != BlobStoreOptions.Overwrite && blobClient.Exists()) { throw new IOException("Blob already exists"); } using (var inputStream = blob.OpenRead()) { blobClient.Upload(inputStream); } }
public void Store(string relativePath, Action <Stream> write, BlobStoreOptions options = BlobStoreOptions.None) { var containerClient = GetContainerClient(); var blobClient = containerClient.GetBlobClient(relativePath); if (options != BlobStoreOptions.Overwrite && containerClient.Exists()) { throw new IOException("Blob already exists"); } // OpenWriteAsync is no longer available using var bufferStream = new MemoryStream(); write(bufferStream); bufferStream.Seek(0, SeekOrigin.Begin); blobClient.Upload(bufferStream); }
public async Task StoreAsync(string relativePath, Func <Stream, Task> write, BlobStoreOptions options = BlobStoreOptions.None) { var containerClient = await GetContainerClientAsync(); var blobClient = containerClient.GetBlobClient(relativePath); if (options != BlobStoreOptions.Overwrite && await containerClient.ExistsAsync()) { throw new IOException("Blob already exists"); } // OpenWriteAsync is no longer available using var bufferStream = new MemoryStream(); await write(bufferStream); bufferStream.Seek(0, SeekOrigin.Begin); await blobClient.UploadAsync(bufferStream); }