274 messaggi dal 23 aprile 2008
Ciao a tutti :)

programmo in vb.net, vorrei creare uno script per fare upload di un file su un server remoto che ho su aruba nella cartella public.
Potete aiutarmi?
Fapic ha scritto:
Ciao a tutti :)

programmo in vb.net, vorrei creare uno script per fare upload di un file su un server remoto che ho su aruba nella cartella public.
Potete aiutarmi?

semplicemente devi usare il controllo fileUpload, da codice recuperi l'id, facendo il salvataggio con il metodo SaveAs. Su msdn ed in rete trovi molti esempi su come realizzarlo.

Se hai problemi sul come fare chiedi pure!

Creazione Siti Vicenza
Posizionamento Siti - SEO
274 messaggi dal 23 aprile 2008
ho provato ad importare il controllo "fileupload"

e poi nell'evento click di un button ho messo il seguente codice:

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

' otteniamo il path della cartella
' principale dell'applicazione
Dim filePath As String = Request.PhysicalApplicationPath

' aggiungiamo il nome della nostra cartella al path
filePath += "~/public/upload/file-caricati/"

' controlliamo se il controllo FileUpload1
' contiene un file da caricare
If FileUpload1.HasFile Then
' se si, aggiorniamo il path del file
filePath += FileUpload1.FileName

' salviamo il file nel percorso calcolato
FileUpload1.SaveAs(filePath)

' mandiamo un messaggio all'utente
Response.Write("File caricato!")
Else
Response.Write("Il file non è stato caricato!")
End If


End Sub

però facendo il debug mi da errore a questa linea
"filePath += "~/public/upload/file-caricati/""

quali imports devo mettere ?
Fapic ha scritto:
ho provato ad importare il controllo "fileupload"

e poi nell'evento click di un button ho messo il seguente codice:

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

' otteniamo il path della cartella
' principale dell'applicazione
Dim filePath As String = Request.PhysicalApplicationPath

' aggiungiamo il nome della nostra cartella al path
filePath += "~/public/upload/file-caricati/"

' controlliamo se il controllo FileUpload1
' contiene un file da caricare
If FileUpload1.HasFile Then
' se si, aggiorniamo il path del file
filePath += FileUpload1.FileName

' salviamo il file nel percorso calcolato
FileUpload1.SaveAs(filePath)

' mandiamo un messaggio all'utente
Response.Write("File caricato!")
Else
Response.Write("Il file non è stato caricato!")
End If


End Sub

però facendo il debug mi da errore a questa linea
"filePath += "~/public/upload/file-caricati/""

quali imports devo mettere ?

Infatti c'è qualcosa di strano nel tuo codice, che errore ti da il debug?

Guarda io ad esempio come faccio di solito:
    public void Btn_Carica(object sender, EventArgs e)
    {
        //Script per la gestione dei fileUpload
        if (IsPostBack)
        {
            Boolean fileOk = false;
            String path = Server.MapPath("~/public/attach/");

            if (upLoad.HasFile)
            {
                String fileExtension = System.IO.Path.GetExtension(upLoad.FileName.ToLower());
                String[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg", ".pdf" };

                for (int i = 0; i < allowedExtensions.Length; i++)
                {

                    if (fileExtension == allowedExtensions[i])
                    {
                        fileOk = true;
                    }

                }

            }

            if (fileOk)
            {
                try
                {
                    if (File.Exists(path + upLoad.FileName))
                    {
                        lblRisp.Text = "<strong>Un altro file con lo stesso nome è gia presente nell'archivio. Cancellare il file esistente oppure modificare il nome di quello nuovo.</strong>";
                    }
                    else
                    {
                        upLoad.PostedFile.SaveAs(path + upLoad.FileName);
                        lblRisp.Text = "<strong>File uploadato! Per vedere i Risultati devi aggiornare la pagina.</strong>";
                    }
                }
                catch (Exception ex)
                {
                    lblRisp.Text = "<strong>File non uploadato</strong><br /><br />" + ex.ToString();
                }
            }
            else
            {
                lblRisp.Text = "<strong>File non supportato. I file supportati sono di tipo: .jpeg, .gif, .png, .jpg, .pdf</strong>";
            }

        }
}


di solito il namaspace è System.IO;
Modificato da ricardo78 il 02 maggio 2011 09.23 -

Creazione Siti Vicenza
Posizionamento Siti - SEO
274 messaggi dal 23 aprile 2008
Quando clicco sul bottone "sfoglia" per caricare il file, giustamente, mi mette nella casella tutto il percorso es:
"C:\Users\Fabio\Desktop\2.jpg"

come faccio ad estrapolare solo il nome del fie e cioè "2.jpg"? per poi assegnarlo ad una variabile
Fapic ha scritto:
Quando clicco sul bottone "sfoglia" per caricare il file, giustamente, mi mette nella casella tutto il percorso es:
"C:\Users\Fabio\Desktop\2.jpg"

come faccio ad estrapolare solo il nome del fie e cioè "2.jpg"? per poi assegnarlo ad una variabile

quello che vedi dentro la textbox del controllo fileUpload è il percorso completo dove lui va a cercare il file, con l'attributo FileName tu gli stai passando effettivamente il solo nome del file.

Tutto il resto lo puoi gestire da code file come hai fatto tu.

Secondo me ti stai complicando per niente, hai messo questo:
' otteniamo il path della cartella
' principale dell'applicazione
Dim filePath As String = Request.PhysicalApplicationPath

' aggiungiamo il nome della nostra cartella al path
filePath += "~/public/upload/file-caricati/"

' controlliamo se il controllo FileUpload1
' contiene un file da caricare
If FileUpload1.HasFile Then
' se si, aggiorniamo il path del file
filePath += FileUpload1.FileName



che secondo me puo piu semplicemente essere (scusa lo scrivo in c#, il vb.net non è il mio forte!)
// Creoi una stringa che valorizzo con il path dove salvare il file
String path = Server.MapPath("~/public/attach/");
...
//faccio le mie altre operazioni
...
//salvo il file:
upLoad.PostedFile.SaveAs(path + upLoad.FileName);

//upLoad è l'id del controllo fileUpload, path contiene il percorso dove salvarlo e FileName prende il solo nome del file.



Credo che cosi ti dovrebbe essere piu chiaro

Creazione Siti Vicenza
Posizionamento Siti - SEO
274 messaggi dal 23 aprile 2008
quindi se FileName prendo solo il nome del file posso fare una cosa come questa ?

Dim nome as string = Filename.text

?
Fapic ha scritto:
quindi se FileName prendo solo il nome del file posso fare una cosa come questa ?

Dim nome as string = Filename.text

?

no, non è corretto, se tu vuoi creare una stringa con il nome del file puoi fare cosi (sempre nel mio solito c#):

string nome = FileUpload1.FileName;

che in vb.net dovrebbe diventare:
Dim nome as string = FileUpload1.FileName
Modificato da ricardo78 il 02 maggio 2011 11.14 -

Creazione Siti Vicenza
Posizionamento Siti - SEO

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.