Errore : “impossibile trovare il file ‘C:\Program Files (x86)\IIS Express\pulsante.png”

Io uso FileUpload nel mio Asp.Net WebFrom.
Posso caricare qualsiasi file con C# dal computer.

 string path = FileUpload1.PostedFile.FileName;
 string str = Path.GetFileName(path);

FileStream fs = new FileStream(str, FileMode.Open, FileAccess.Read); // Ottengo errore in questa riga. Errore : Could not find file 'C:\Program Files (x86)\IIS Express\button.png'.

E in realtà questo è il mio percorso file : 'C:\Users\Ceyhun\Downloads\button.png'.

Qualcuno può dire che cosa può essere il problema ?

OriginaleL’autore Jeyhun | 2014-03-30

One Reply
  1. 4

    Quello che stai cercando di fare è ottenere il nome del file caricato dal cliente e cercando di aprire un file con lo stesso nome del file. Perché si esegue IIS Express (che va da c:\program file) il tuo codice di ricerca per i file in quella posizione e non esiste.

    Il file presente sul computer client e il solo modo in cui il vostro codice di accesso è tramite il FileUploadCOntrol.

    Non è possibile fare riferimento direttamente il file dal computer client.
    Il controllo FileUpload vi darà il contenuto del file in byte o consente di salvare direttamente il file sul vostro server.

    ad esempio

    string filename = Path.GetFileName(FileUpload1.FileName);
    FileUpload1.SaveAs(Server.MapPath("~/") + filename);

    Per ottenere il contenuto del file come un array di byte:

    byte[] fileBytes = FileUpload1.FileBytes;
    Io l’ho salvato sul mio server, E ora vorrei salvare su database sql. Ora dovrei aggiungere al mio server di database sql ? E quindi rimarrà nel mio server dopo aver aggiunto al database ? Scusate, forse sono confuso.
    Così il caricamento di file di controllo è il contenuto del file in byte. Non hai bisogno di memorizzare nel vostro web server necessariamente. Si potrebbe salvare direttamente il byte nel db.
    grazie per le risposte..

    OriginaleL’autore Raja Nadar

Lascia un commento