[ASP.Net] [ASP] Upload Image

Scarlatta1998

Nuovo Utente
10 Gen 2019
5
0
1
Buongiorno a tutti, sono nuovissima nel campo dell' informatica.
Avrei bisogno di una mano...
Come già menzionato all' interno del titolo dovrei fare l' upload image nella pagina home e salvarla finché l' utente non decide di modificarla, ma ricevo il seguente errore
SqlException: Il nome di colonna 'ImageID1' non è valido.
Il nome ImageID1 all' interno della mia tabella non esiste..

Questo è il mio codice
Codice:
<div class="portlet-body">
                <div class="table-toolbar">
                    <div class="row">
                        <div class="col-md-12">
                            <label>Caricamento Immagine</label>
                            <form asp-action="UploadImage"  method="post" enctype="multipart/form-data" class="form-inline">
                                <div class="form-group">
                                    <input type="file" name="file" id="file" />
                                </div>
                                <input type="submit" value="Salva Immagine" class="btn btn-primary" />
                            </form>
                        </div>
                    </div>
                </div>
                  </div>



public async Task<IActionResult> UploadImage(IFormFile file, int ID)
        {
            var uploads = Path.Combine(_environment.WebRootPath, "uploads", "home-images");
            if (file.Length > 0)
            {
                var fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"');
                fileName = $"{ID}.{fileName.Substring(fileName.LastIndexOf(".", StringComparison.Ordinal) + 1)}";
                using (var fileStream = new FileStream(Path.Combine(uploads, fileName), FileMode.Create))
                    await file.CopyToAsync(fileStream);

              

                    var hom = _context.Home.Single(i => i.ImageID == ID);
                    hom.ImagePath = $"/uploads/home-images/{fileName}";
                    _context.Update(hom);
                    await _context.SaveChangesAsync();
              
            }
            return RedirectToAction("Index", new { ID });
        }
potreste aiutarmi?
 
Ultima modifica di un moderatore:
@Scarlatta1998
Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
code-gif.6007
o il tag
php-png.6009
per il PHP, quando posti del codice, oppure la funzione codice dalla barra degli strumenti
box-inserisci-2-png-jpg.6008

Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
Grazie
Per questa volta te lo sistemo io ma mi raccomando per il futuro
 
Difficile se non impossibile trovare una soluzione senza conoscere il codice completo.
Quando il server ti restituisce l'errore ti comunica anche il numero della riga di codice che l'ha generaro?
 
  • Like
Reactions: Scarlatta1998
si certamente :
Codice:
                fileName = $"{id}.{fileName.Substring(fileName.LastIndexOf(".", StringComparison.Ordinal) + 1)}";
                using (var fileStream = new FileStream(Path.Combine(uploads, fileName), FileMode.Create))
                    await file.CopyToAsync(fileStream);

             var Image = _context.Images.Single(i => i.ImageID == id);
                Image.ImagePath = $"/uploads/home-images/{fileName}";
                _context.Update(Image);
                await _context.SaveChangesAsync();
            }
            return RedirectToAction("Index", new { id });

l' errore lo restituisce nella riga var Image
 

Discussioni simili