/// <summary> /// /// </summary> /// <param name="id"></param> /// <param name="cancellationToken">Propagates notification that operations should be canceled.</param> /// <returns></returns> public async Task <FileEntity> GetAsync(string id, CancellationToken cancellationToken) { var contents = await ReadAllBytesAsync(id, cancellationToken); return(FileEntity.Create(id, Path.GetFileName(id), Path.GetExtension(id), MimeMappingEntity.GetMimeMapping(id), contents)); }
/// <summary> /// /// </summary> /// <param name="path"></param> /// <param name="cancellationToken">Propagates notification that operations should be canceled.</param> /// <returns></returns> public Task <List <FileEntity> > GetFilesEntitiesAsync(string path, CancellationToken cancellationToken) { var filesEntities = new ConcurrentBag <FileEntity>(); Parallel.ForEach(Directory.GetFiles(path), id => { var contents = File.ReadAllBytes(path); filesEntities.Add(FileEntity.Create(id, Path.GetFileName(id), Path.GetExtension(id), MimeMappingEntity.GetMimeMapping(id), contents)); }); return(Task.FromResult(filesEntities.ToList())); }