/// <inheritdoc/> public async Task SetAsync(string key, Stream stream, ImageMetaData metadata) { string path = Path.Combine(this.environment.WebRootPath, this.ToFilePath(key)); string imagePath = this.ToImageFilePath(path, metadata); string metaPath = this.ToMetaDataFilePath(path); string directory = Path.GetDirectoryName(path); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } using (FileStream fileStream = File.Create(imagePath)) { await stream.CopyToAsync(fileStream).ConfigureAwait(false); } using (FileStream fileStream = File.Create(metaPath)) { await metadata.WriteAsync(fileStream).ConfigureAwait(false); } }