示例#1
0
        public async Task <IActionResult> Upload(IFormFile file)
        {
            var novoNome = UploadService.MudarFileName(file.FileName);
            var path     = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/images/Livros", novoNome);

            if (System.IO.File.Exists(path))
            {
                string errors = string.Empty;
                ModelState.AddModelError(string.Empty, "Já existe um arquivo com este nome!");
                foreach (ModelStateEntry modelState in ModelState.Values)
                {
                    foreach (ModelError error in modelState.Errors)
                    {
                        errors += error.ErrorMessage + "</br>";
                    }
                }

                return(Json(new
                {
                    success = false,
                    response = errors
                }));
            }
            using (var stream = new FileStream(path, FileMode.Create))
            {
                await file.CopyToAsync(stream);
            }
            var arquivos = new ArquivosViewModel(novoNome);

            Arquivos.AddArquivos(arquivos);
            return(Json(new
            {
                success = true,
                response = "Upload efetuado com sucesso."
            }));
        }