+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Input file

  1. #1
    perla0279 non è in linea Scolaretto
    Post
    230

    Input file

    Ciao
    devo caricare delle immagini sul sito web, in modo che l'utente possa cambiare da solo eventuali immagini presenti nelle pagine web e gallerie.

    Ho pensato di usare:
    codice:
    <input id="File1" type="file" onclick="return File1_onclick()" />
    Ma non sò come fare :
    1) così com'è non funziona bisogna inserire il controllo in java qui all'interno.......(almeno mi sembra di aver capito così)
    codice:
    <script language="javascript" type="text/javascript">
    // <!CDATA[
    
    function File1_onclick() {
                        
                    }
    
    // ]]>
    </script>
    e non so come fare....


    2) Come faccio a far si che il file ricercato dall'utente venga caricato nella cartella del sito web????

    3) Dovrei anche inserire nel database il nome dell'immagine caricata.............come faccio ad estrappolarla????

    4) ultima domanda......la pagina che stò creando dovrebbe dare la possibilità di inserire più foto per volta, volevo chiedere se posso solo con un tasto conferma e più campi 'sfoglia' per selezionare i file...inviare in una sola volta tutte le immagini al server???

    elena

  2. #2
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    1-2-3 => con asp.net 2.0 devi usare il controllo FileUpload
    4 => si

  3. #3
    perla0279 non è in linea Scolaretto
    Post
    230
    ho buttato giù il codice:
    codice:
    <asp:FileUpload ID="FileUpload1" runat="server" /><asp:Label ID="Label1" runat="server" Width="238px"></asp:Label>
    codice:
    If FileUpload1.HasFile Then
    
                Try
    
                    FileUpload1.SaveAs("c:\temp\uploads\" & _FileUpload1.FileName)
    
                    Label1.Text = "File name: " & _FileUpload1.PostedFile.FileName & "<br>" & "File Size: " & _FileUpload1.PostedFile.ContentLength & " kb<br>" & "Content type: " & _FileUpload1.PostedFile.ContentType
    
                Catch ex As Exception
    
                    Label1.Text = "ERROR: " & ex.Message.ToString()
    
                End Try
    
            Else
    
                Label1.Text = "Devi specificare un file."
    
            End If

    sembra anche funzionare......solo che come faccio a dare un percorso al file che voglio salvare????

    cioè io ho cambiato in varie modi si scrittura questo pezzo:
    codice:
    FileUpload1.SaveAs("c:\temp\uploads\" & _FileUpload1.FileName)
    in teoria qui dovrei dare il percorso del file esatto.....ma qundo faccio il debug e controllo il valore passato qui
    codice:
    FileUpload1.PostedFile.ContentType
    mi da 'aplication/pdf' che non è il percorso che gli ho indicato io?????


    Poi vorrei salvare il mone del file.....solo il nome ....... in una variabile per passarlo al database.
    ho provato così:
    codice:
    Dim NomeImmagine As FileUpload1
    perchè ho visto nel debug che in FileUpload1 è contenuto il nome del file......ma mi da che FileUpload1 is not definite.

    Come posso fare a estrapolare il nome del file????

  4. #4
    perla0279 non è in linea Scolaretto
    Post
    230
    ho modificato il controllo..............ora funzione il salvataggio :-) :-)


    codice:
     Dim savePath As String = "c:\temp\pippo\"
            If (FileUpload1.HasFile) Then
                Dim fileName As String = FileUpload1.FileName
                savePath += fileName
                FileUpload1.SaveAs(savePath)
    come si dice.....la notte porta consiglio !

  5. #5
    perla0279 non è in linea Scolaretto
    Post
    230
    ina domanda.........senza scrivere il percorso di tutto il server, essendo un file che viene caricato poi in ftp...........

    posso scriere così:
    codice:
     Dim savePath As String = "~/images/mobili-800/"
    dovrei praticamente salire alla cartella superiore e cercare images...........

  6. #6
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    ...ma scusa a cosa ti serve un controllo che fa upload dal computer client al server se poi le immagini devi uploadarli te in FTP?

  7. #7
    perla0279 non è in linea Scolaretto
    Post
    230
    scusa la mia ignoranza............ma io avevo capito che questo controllo salvasse i file....

    nel senso che il controllo è inserito in una pagina web, quindi in teoria dovrebbe salvare le pagine poi nel server.................

    almeno pensavo di aver capito così........


    L'unica cosa è che non volevo dare un indirizzo specifico.....tipo c:/ecc.....
    ma che andasse a prendere la cartella superiore a quella in cui si trova il pannello, images


    Quote Originariamente inviato da SignIn Visualizza il messaggio
    ...ma scusa a cosa ti serve un controllo che fa upload dal computer client al server se poi le immagini devi uploadarli te in FTP?

  8. #8
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    asp asp...il web control in questione consente ad un utente, quindi sul computer client, di selezionare un file.
    In altre parole tramite il pulsante sfoglia l'utente seleziona dal suo pc un file, quindi il path che compare nell'apposita textbox è un path locale per esempio:
    c:\images\1.gif

    Il controllo si ferma qui, ora è necessario avere un button che richiami il metodo SaveAs, che salva i contenuti del file locale in un percorso del tuo server(quindi che sò andrà a finire nella cartella images della web application).
    Prima di richiamare il metodo SaveAs bisogna ovviamente avere i giusti permessi per l'utente con cui gira ASP.NET(di default è aspnet) sulla cartella in cui verrà effettuato l'upload.
    Con SaveAs, il trasferimento avviene tramite HTTP, inoltre è necessario fare un'altra precisazione, cioè, per evitare attacchi ecc, esiste un limite di uplaod fissato a 4 Mb, nel caso si vuole aumentare questo parametro bisogna intervenire sul parametro maxRequestLength a livello di web.config.

    Ora se tu vuoi usare il protocollo FTP per salvare l'immagine allora devi scrivere "altro codice", qui trovi un mio esempio:
    Sign In: Upload file via FTP
    Per concludere il controllo serve solo per selezionare il file, poi come trasferisci il file spetta a te, nel caso devi trasferirlo in FTP allaora devi usare le classi FtpWebRequest introdotta nel Framework 2.0.

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi