private async Task RenderReturnedFile(IHttpContext context, IReturnedFileStorage returnedFileStorage) { const string attachmentDispositionType = "attachment"; ReturnedFileMetadata metadata; var id = Guid.Parse(context.Request.Query["id"]); using (var stream = returnedFileStorage.GetFile(id, out metadata)) { #if DotNetCore var contentDispositionValue = new ContentDispositionHeaderValue(attachmentDispositionType); contentDispositionValue.SetHttpFileName(metadata.FileName); context.Response.Headers[HeaderNames.ContentDisposition] = contentDispositionValue.ToString(); #else var contentDispositionValue = new ContentDispositionHeaderValue(attachmentDispositionType) { FileName = metadata.FileName, FileNameStar = metadata.FileName }; context.Response.Headers["Content-Disposition"] = contentDispositionValue.ToString(); #endif context.Response.ContentType = metadata.MimeType; if (metadata.AdditionalHeaders != null) { foreach (var header in metadata.AdditionalHeaders) { context.Response.Headers.Add(new KeyValuePair <string, string[]>(header.Key, header.Value)); } } context.Response.StatusCode = (int)HttpStatusCode.OK; await stream.CopyToAsync(context.Response.Body); } }
private async Task RenderReturnedFile(IHttpContext context, IReturnedFileStorage returnedFileStorage) { ReturnedFileMetadata metadata; var id = Guid.Parse(context.Request.Query["id"]); using (var stream = returnedFileStorage.GetFile(id, out metadata)) { context.Response.Headers["Content-Disposition"] = "attachment; filename=" + metadata.FileName; context.Response.ContentType = metadata.MimeType; if (metadata.AdditionalHeaders != null) { foreach (var header in metadata.AdditionalHeaders) { context.Response.Headers.Add(new KeyValuePair <string, string[]>(header.Key, header.Value)); } } context.Response.StatusCode = (int)HttpStatusCode.OK; await stream.CopyToAsync(context.Response.Body); } }
public ReportTempFilesPresenter(IReturnedFileStorage returnedFileStorage) { this.returnedFileStorage = returnedFileStorage; }
public DefaultViewModel(IWebHostEnvironment webHostEnvironment, IReturnedFileStorage returnedFileStorage) { this.webHostEnvironment = webHostEnvironment; this.returnedFileStorage = returnedFileStorage; }