public ActionResult Download(int fileId, string pdfType, string fileName) { //TODO: Fixa fråga vid download var connectionString = _configuration.GetConnectionString("DefaultConnection"); using (var connection = new SqlConnection(connectionString)) { var file = _fileRepository.GetFileToDownload(fileId, pdfType); var cd = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment") { FileNameStar = fileName + ".pdf" //FileNameStar = "download.pdf" }; Response.Headers.Add(HeaderNames.ContentDisposition, cd.ToString()); return(File(file, "application/pdf")); } }
public FileContentResult Download(int attachmentId) { TaskAttachment taskFile = null; if (attachmentId > 0) { // taskFile = <your code to get the file> // which assumes it's an object with relevant properties as required below if (taskFile != null) { var cd = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment") { FileNameStar = taskFile.Filename }; Response.Headers.Add(HeaderNames.ContentDisposition, cd.ToString()); } } return(new FileContentResult(taskFile?.FileData, taskFile?.FileContentType)); }
public void ToString_UseDifferentContentDispositions_AllSerializedCorrectly() { ContentDispositionHeaderValue contentDisposition = new ContentDispositionHeaderValue("inline"); Assert.Equal("inline", contentDisposition.ToString()); contentDisposition.Name = "myname"; Assert.Equal("inline; name=myname", contentDisposition.ToString()); contentDisposition.FileName = "my File Name"; Assert.Equal("inline; name=myname; filename=\"my File Name\"", contentDisposition.ToString()); contentDisposition.CreationDate = new DateTimeOffset(new DateTime(2011, 2, 15, 8, 0, 0, DateTimeKind.Utc)); Assert.Equal("inline; name=myname; filename=\"my File Name\"; creation-date=" + "\"Tue, 15 Feb 2011 08:00:00 GMT\"", contentDisposition.ToString()); contentDisposition.Parameters.Add(new NameValueHeaderValue("custom", "\"custom value\"")); Assert.Equal("inline; name=myname; filename=\"my File Name\"; creation-date=" + "\"Tue, 15 Feb 2011 08:00:00 GMT\"; custom=\"custom value\"", contentDisposition.ToString()); contentDisposition.Name = null; Assert.Equal("inline; filename=\"my File Name\"; creation-date=" + "\"Tue, 15 Feb 2011 08:00:00 GMT\"; custom=\"custom value\"", contentDisposition.ToString()); contentDisposition.FileNameStar = "File%Name"; Assert.Equal("inline; filename=\"my File Name\"; creation-date=" + "\"Tue, 15 Feb 2011 08:00:00 GMT\"; custom=\"custom value\"; filename*=utf-8\'\'File%25Name", contentDisposition.ToString()); contentDisposition.FileName = null; Assert.Equal("inline; creation-date=\"Tue, 15 Feb 2011 08:00:00 GMT\"; custom=\"custom value\";" + " filename*=utf-8\'\'File%25Name", contentDisposition.ToString()); contentDisposition.CreationDate = null; Assert.Equal("inline; custom=\"custom value\"; filename*=utf-8\'\'File%25Name", contentDisposition.ToString()); }