869 messaggi dal 11 febbraio 2013
Ciao
in una pagina debbo fare l'upload di un file ma ottengo sempre il parametro nullo nell'action
nella view ho semplicemente
form method="post" asp-controller="MioController" enctype="multipart/form-data">
   
    <input type="file" name="file" />   
    <button type="submit" class="btn btn-primary" asp-action="Upload" > 
     <i class="fa fa-upload"></i> Upload 
    </button> 

  ...
<input type="submit" class="btn btn-outline-primary" value="Go" asp-action="OtherJob" />


mentre l'action è come dalla documentazione
[HttpPost]
        public async Task<IActionResult> Upload(IFormFile uploaded)
        {
           if(uploaded==null || uploaded.Length==0) return Content("File not selected");

           var path = Path.Combine(Directory.GetCurrentDirectory(),"MyFolder", uploaded.FileName);

           using (var stream = new FileStream(path, FileMode.Create))
           {
               await uploaded.CopyToAsync(stream);
           }
           return Ok("Uploaded succesfully");
        }


Per favore mi dite cosa sbaglio? grazie
11.650 messaggi dal 09 febbraio 2002
Contributi
Ciao,
il nome del parametro e il name del campo input devono corrispondere, così che il model binder sappia da quale campo deve trarre il valore.

Al momento la tua action Upload ha un parametro che si chiama uploaded, mentre invece il campo si chiama file. Modifica il campo così:
<input type="file" name="uploaded" />   


ciao,
Moreno

Enjoy learning and just keep making
869 messaggi dal 11 febbraio 2013
Che vergogna...scusate

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.