+ Rispondi al Thread
Pagina 2 di 3 primaprima 123 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 24

Discussione: [Vb.Net] Inviare file e cartelle da un server all'altro

  1. #11
    ubimaior non è in linea Scolaretto
    Post
    74
    codice:
    ProtectedSub cmdUpload_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles cmdUpload.Click
    ' al click chiama la funzione e passa i parametri (forse vanno invertiti ma ho provato e non va)
    uploadFileUsingFTP("pagina.htm", "ftp:\\ftp.hostingremoto.com\pagina.htm")
    lblMsg.Text = "File caricati con successo"
    EndSub
     
    PublicSub uploadFileUsingFTP(ByVal CompleteFTPPath AsString, ByVal CompleteLocalPath AsString, OptionalByVal UName AsString = "", OptionalByVal PWD AsString = "")
    UName = Session("Utente")
    Dim nomesito AsString = tbsito.Text
    'UName è la cartella personale dell'utente sul mio sito
    CompleteLocalPath = "d:\inetpub\webs\miosotoit\utenti\" & UName & "\pagina.htm"
    'Questo è l'url in locale
    'CompleteLocalPath = "c:\siti\utenti\" & UName & "\pagina.htm"
     
    'Ovviamente, hostingremoto.com è il suo sito:
    CompleteFTPPath = "ftp://ftp.hostingremoto.com/" & nomesito & "/pagina.htm"
    
     
    Dim reqObj As FtpWebRequest = WebRequest.Create(CompleteFTPPath)
     
    reqObj.Method = WebRequestMethods.Ftp.UploadFile
    reqObj.Credentials = New NetworkCredential(UName, PWD)
    Dim streamObj As FileStream = File.OpenRead(CompleteLocalPath)
    Dim buffer(streamObj.Length) AsByte
    streamObj.Read(buffer, 0, buffer.Length)
    streamObj.Close()
     
    streamObj = Nothing
    
    reqObj.GetRequestStream().Write(buffer, 0, buffer.Length)
    reqObj = Nothing
    End sub
    
    
    Questo è il codice completo

  2. #12
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    Ci sono diverse cose che mi sembrano assurde.
    In particolar modo:
    codice:
    'Ovviamente, hostingremoto.com è il suo sito:
    CompleteFTPPath = "ftp://ftp.hostingremoto.com/" & nomesito & "/pagina.htm"
    L'host name è il nome del server mi dici perchè concateni "pagina.html"?
    Tra l'altro su aruba ho sempre visto ftp.nomedominio
    Altra cosa:
    codice:
    'UName è la cartella personale dell'utente sul mio sito
    CompleteLocalPath = "d:\inetpub\webs\miosotoit\utenti\" & UName & "\pagina.htm"
    Questo è il path del file che devi trasferire dalla macchina locale dell'utente alla macchina server.
    Spero che hai indicato questo path per delle tue prove perchè altrimenti chi ti dice che il tuo utente abbia sul suo computer tale configurazione di cartelle(inetpub\webs ecc).
    Ultima modifica di SignIn; 13-09-2008 19:08 

  3. #13
    ubimaior non è in linea Scolaretto
    Post
    74
    Quote Originariamente inviato da SignIn Visualizza il messaggio
    Ci sono diverse cose che mi sembrano assurde.
    In particolar modo:
    codice:
    'Ovviamente, hostingremoto.com è il suo sito:
    CompleteFTPPath = "ftp://ftp.hostingremoto.com/" & nomesito & "/pagina.htm"
    L'host name è il nome del server mi dici perchè concateni "pagina.html"?
    Tra l'altro su aruba ho sempre visto ftp.nomedominio
    Perché "pagina.htm" è il file che l'utente deve inserire nel suo sito.
    In questo caso l'host è fatto così: ftp.nomedominio/nomesuosito
    Credo sia un hosting in condivisione o qualcosa del genere.

    Quote Originariamente inviato da SignIn Visualizza il messaggio
    Altra cosa:
    codice:
    'UName è la cartella personale dell'utente sul mio sito
    CompleteLocalPath = "d:\inetpub\webs\miosotoit\utenti\" & UName & "\pagina.htm"
    Questo è il path del file che devi trasferire dalla macchina locale dell'utente alla macchina server.
    Spero che hai indicato questo path per delle tue prove perchè altrimenti chi ti dice che il tuo utente abbia sul suo computer tale configurazione di cartelle(inetpub\webs ecc).
    Quello è il path del file che devo trasferire dal MIO sito, al suo dominio.

    Spero di essere riuscito a ad essere chiaro...
    E anche che tu possa aiutarmi perché ormai ci lavoro giorno e notte...

  4. #14
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    Si adesso è tutto più chiaro. Vuoi trasferire un file che si trova sul tuo server(hosting aruba) ad un altro server di cui ovviamente devi conoscere le credenziali per aprire l'FTP
    A questo punto il codice dovrebbe essere qualcosa del genere:
    codice:
    //recupero il path di un file che risiede sulla mia macchina server
    string pathFile = Server.MapPath("~/mycartella/miofile.html");
    try
    {
    //indico il path ftp della macchina dell'utente
      FtpWebRequest ftp = (FtpWebRequest)WebRequest.Create(   System.IO.Path.Combine("ftp://server/nomesito/cartellaUtente", "miofile.html"));
    ftp.Credentials = new NetworkCredential("username", "password");
    ftp.Method = WebRequestMethods.Ftp.UploadFile;
    
    FileStream file = File.OpenRead(pathFile);
    byte[] arrayFile = new byte[file.Length];
    file.Read(arrayFile, 0, arrayFile.Length);
    file.Close();
    
    Stream w = ftp.GetRequestStream();
    w.Write(arrayFile, 0, arrayFile.Length);
    w.Close();
    }
    catch (Exception exc)
    {
      throw;
    }
    ...da adattare al tuo caso modificando i path
    Ultima modifica di SignIn; 13-09-2008 22:03 

  5. #15
    ubimaior non è in linea Scolaretto
    Post
    74
    Ancora grazie per la pazienza ma anche questo funziona in locale ma non sul server.
    La pagina inizia a caricare (lentamente) ma poi esce la pagina di errore (runtime)....

  6. #16
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    ...ma a cosa aspetti a mostrare l'errore?

  7. #17
    ubimaior non è in linea Scolaretto
    Post
    74
    Ehm....
    Non avevo impostato il web Config.
    Ecco l'errore:

    A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond


    Line 82: Throw

  8. #18
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    Sinceramente non ho mai visto quel tipo di errore.
    Mi viene comunque un dubbio. Hai provato a collegarti all'hosting in questione con un client ftp tipo Filezilla.

  9. #19
    ubimaior non è in linea Scolaretto
    Post
    74
    Si, con filezilla nessun problema. Ma anche con la stessa applicazione, eseguita sul pc, non ho problemi, funziona tutto. I problemi iniziano quando la provo sul server.

  10. #20
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    uhm ...
    I due server sono entrambi aruba?
    Puoi provare a vedere se cambia qualcosa impostando la property UsePassive a false sull'oggetto FTPWebRequest:
    codice:
    //Dopo aver settato le credenziali
    ftp.UsePassive = false;

+ Rispondi al Thread
Pagina 2 di 3 primaprima 123 ultimoultimo

Permessi di invio

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