/// <inheritdoc /> public Func <CancellationToken, Task <IActionResult> > OnFetch(StorageOnFetchOptions options) { return(cancellationToken => { var readStream = File.OpenRead(GetFileLocation(options.File.Container, options.File.FileId)); var cd = new ContentDispositionHeaderValue(options.Download ? "attachment" : "inline") { Name = options.File.FileName, FileNameStar = options.File.FileName, Size = readStream.Length, FileName = options.File.FileName, }; options.HttpContext.Response.Headers["Content-Disposition"] = cd.ToString(); return Task.FromResult(new FileStreamResult(readStream, options.File.ContentType) { LastModified = options.File.Modified, } as IActionResult); }); }
/// <inheritdoc /> public Func <CancellationToken, Task <IActionResult> > OnFetch(StorageOnFetchOptions options) { return(null); }