예제 #1
0
 public static void AddRicevuta(RicevutaCreateInputModel ricevuta)
 {
     if (Ricevute == null)
     {
         Ricevute = new();
     }
     Ricevute.Add(ricevuta);
 }
예제 #2
0
        public async Task <IActionResult> FileUpload()
        {
            var id = Convert.ToInt32(TempData["IDScadenza"]);
            ScadenzaEditInputModel inputModel = new();

            inputModel = await service.GetScadenzaForEditingAsync(id);

            var files   = Request.Form.Files;
            var i       = 0;
            var webRoot = environment.WebRootPath;
            var path    = webRoot + "\\Upload";

            foreach (var file in files)
            {
                RicevutaCreateInputModel ricevuta = new RicevutaCreateInputModel();
                var filename = ContentDispositionHeaderValue
                               .Parse(file.ContentDisposition)
                               .FileName
                               .Trim('"');
                ricevuta.FileName = filename;
                var fileType   = file.ContentType;
                var fileLenght = file.Length;
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                filename = System.IO.Path.Combine(path, filename);
                using (FileStream fs = System.IO.File.Create(filename))
                {
                    await file.CopyToAsync(fs);

                    await fs.FlushAsync();
                }
                i += 1;
                ricevuta.FileType     = fileType;
                ricevuta.Path         = filename;
                ricevuta.IDScadenza   = inputModel.IDScadenza;
                ricevuta.Beneficiario = inputModel.Beneficiario;
                byte[] filedata = new byte[fileLenght];
                using (var stream = new FileStream(filename, FileMode.Open, FileAccess.Read))
                {
                    using (var reader = new BinaryReader(stream))
                    {
                        filedata = reader.ReadBytes((int)stream.Length);
                    }
                }
                ricevuta.FileContent = filedata;
                AddRicevuta(ricevuta);
            }
            string     message = "Upload effettuato correttamente!";
            JsonResult result  = new JsonResult(message);

            return(result);
        }