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"));
        }
Beispiel #4
0
        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"));
        }