public async Task <IActionResult> UploadFiles(FileDescriptionShort fileDescriptionShort) { if (ModelState.IsValid) { foreach (var file in fileDescriptionShort.File) { if (file.Length > 0) { using (var memoryStream = new MemoryStream()) { await file.CopyToAsync(memoryStream); var imageMessage = new ImageMessage { ImageHeaders = "data:" + file.ContentType + ";base64,", ImageBinary = memoryStream.ToArray() }; await _hubContext.Clients.All.SendAsync("ImageMessage", imageMessage); } } } } return(Redirect("/FileClient/Index")); }
//[ServiceFilter(typeof(ValidateMimeMultipartContentFilter))] public void UploadFiles(FileDescriptionShort fileDescriptionShort) { var names = new List <string>(); var contentTypes = new List <string>(); foreach (var file in fileDescriptionShort.File) { if (file.Length > 0) { var fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition) .FileName.ToString().Trim('"'); contentTypes.Add(file.ContentType); names.Add(fileName); var webRoot = _env.WebRootPath; var extension = Path.GetExtension(Path.GetFileName(fileName)); var fileName2 = Path.Combine(webRoot + "\\UploadedFiles\\", fileDescriptionShort.Name + extension); file.SaveAs(fileName2); } } }
public async Task <IActionResult> UploadFiles(FileDescriptionShort fileDescriptionShort) { foreach (var item in Path.GetInvalidPathChars()) { fileDescriptionShort.Description.Replace(item, '_'); } Directory.CreateDirectory("input/" + fileDescriptionShort.Description); var names = new List <string>(); var contentTypes = new List <string>(); if (ModelState.IsValid) { foreach (var file in fileDescriptionShort.File) { if (file.Length > 0) { var fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.ToString().Trim('"'); contentTypes.Add(file.ContentType); names.Add(fileName); await file.SaveAsAsync(Path.Combine("input/" + fileDescriptionShort.Description, fileName)); } } } var files = new DataAccess.Model.FileResult { FileNames = names, ContentTypes = contentTypes, Description = fileDescriptionShort.Description, CreatedTimestamp = DateTime.UtcNow, UpdatedTimestamp = DateTime.UtcNow, }; _fileRepository.AddFileDescriptions(files); return(RedirectToAction("ViewAllFiles", "FileClient")); }
public async Task <IActionResult> UploadFiles(FileDescriptionShort fileDescriptionShort) { var names = new List <string>(); var contentTypes = new List <string>(); var addresspath = _fileRepository.GetActiveAddress(); if (ModelState.IsValid) { foreach (var file in fileDescriptionShort.File) { if (file.Length > 0) { var fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.ToString().Trim('"'); contentTypes.Add(file.ContentType); names.Add(fileName); // Extension method update RC2 has removed this //await file.SaveAsAsync(Path.Combine(_optionsApplicationConfiguration.Value.ServerUploadFolder, fileName)); await file.SaveAsAsync(Path.Combine(addresspath.UNCPath, fileName)); } } } var files = new DAL.Models.FileResult { FileNames = names, ContentTypes = contentTypes, Description = fileDescriptionShort.Description, CreatedTimestamp = DateTime.UtcNow, UpdatedTimestamp = DateTime.UtcNow, AddressPath = addresspath.Id }; _fileRepository.AddFileDescriptions(files); return(RedirectToAction("ViewAllFiles", "FileClient")); }
public async Task <IActionResult> UploadFiles(FileDescriptionShort fileDescriptionShort) { var names = new List <string>(); var contentTypes = new List <string>(); if (ModelState.IsValid) { // http://www.mikesdotnetting.com/article/288/asp-net-5-uploading-files-with-asp-net-mvc-6 // http://dotnetthoughts.net/file-upload-in-asp-net-5-and-mvc-6/ foreach (var file in fileDescriptionShort.File) { if (file.Length > 0) { var fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"'); contentTypes.Add(file.ContentType); names.Add(fileName); // Extension method update RC2 has removed this await file.SaveAsAsync(Path.Combine(_optionsApplicationConfiguration.Value.ServerUploadFolder, fileName)); } } } var files = new FileResult { FileNames = names, ContentTypes = contentTypes, Description = fileDescriptionShort.Description, CreatedTimestamp = DateTime.UtcNow, UpdatedTimestamp = DateTime.UtcNow, }; _fileRepository.AddFileDescriptions(files); return(RedirectToAction("ViewAllFiles", "FileClient")); }