Upload file con Visual Basic

di il
35 risposte

35 Risposte - Pagina 2

  • Re: Upload file con Visual Basic

    sspintux ha scritto:


    salvodv ha scritto:


    no! il linguaggio è VB.net... ma non c'è una sezione dedicata nello specifico a questo e, in fondo, è sempre Visual Basic
    Ehhh! Come no, vb6 e vb.net so gemelli separati alla nascita.
    Ce sta, ce sta la sezione vb.net
  • Re: Upload file con Visual Basic

    Doppio
  • Re: Upload file con Visual Basic

    il linguaggio è VB.net... ma non c'è una sezione dedicata nello specifico a questo ...
    Sbagliato

    https://www.iprogrammatori.it/forum-programmazione/vbnet/
    e, in fondo, è sempre Visual Basic
    Si vede che non conosci le differenze
  • Re: Upload file con Visual Basic

    oregon ha scritto:


    Togli il Try Catch End Try e vedi un attimo che errore hai.
    ho provato a togliere il 'Try Catch End Try'... il programma non mi da nessun errore esegue (all'apparenza) l'upload, ma poi l'upload difatti non avviene. questo è l'ultimo codice testato:
            uploader.Credentials = New NetworkCredential("utente", "password")
    
            'Try
            uploader.UploadFile(New Uri("https://sdv.altervista.org/wp-content/uploads/Interventi/user.op"), stNewPercorso & "\user.op")
            MsgBox("upload riuscito" & vbNewLine, MsgBoxStyle.Information)
                txbAvanzamento.Text = txbAvanzamento.Text & "Finito!"
            'Catch ex As Exception
            '    MsgBox("upload non riuscito" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
            'End Try
    
    quello che avviene se lancio il programma è che compare la message box con scritto "upload riuscito"

    oregon ha scritto:


    Sei sicuro dell'utente / password, percorso remoto e percorso locale?
    allora: il percorso remoto e quello locale sono corretti. il percorso remoto è sicuro perché prima di fare l'upload eseguo il download dello stesso file ed avviene senza problemi, poi lo modifico (nel senso che ci scrivo dentro qualcosa) e faccio l'upload che non riesce!
    Nome utente e password sono corretti, ne sono sicuro... però succede una cosa strana!!: qualche minuto fa, sul suggerimento di oregon di verificare che nome utente e password fossero corretti, ho messo nell'istruzione 'uploader.Credentials' una password sbagliata e il programma non mi da nessun errore... compare sempre la message box che l'upload è riuscito!! strano no?

    per la cronaca: il mio post è stato spostato da Toki nella sezione giusta (scusatemi non l'avevo vista). e sì dai su! non sono un grande esperto programmatore! Non conosco le differenze

    grazie ancora per il tempo che mi state dedicando.
  • Re: Upload file con Visual Basic

    Vai sulla documentazione https://docs.microsoft.com/it-it/dotnet/api/system.net.webclient.uploadfile?view=net-5.0 e prova a vedere cosa torna il metodo update come array di bytes,trasforma in stringa e prova a vedere cosa contiene la risposta del server,per fare questo prendi spunto dall'esempio ,nella pagina in alto a destra puoi scegliere il linguaggio .net con cui visualizzare l'esempio stesso
  • Re: Upload file con Visual Basic

    Ciao,
    secondo me o usi FTP se puoi
    o usi HTTP/HTTPS ma in questo secondo caso mi sa che dall'altra parte ci vuole 'qualcosa' scritto da te
    che prende in carico la richiesta e ti salva il file

    HTH ( ... che non è un nuovo protocollo)
  • Re: Upload file con Visual Basic

    Perché sei tornato ad usare https:.... al posto di ftp:... come ti avevo detto di fare?

    E poi, ti avevo suggerito di usare un programma (come FileZilla) per fare l'upload e controllare così di avere tutti i permessi (di scrittura) corretti. L'hai fatto?

    Se hai ancora problemi l'alternativa è fornirci delle credenziali per provare.
  • Re: Upload file con Visual Basic

    oregon ha scritto:


    Perché sei tornato ad usare https:.... al posto di ftp:... come ti avevo detto di fare?
    Hai ragione, tra tutte ste prove sto facendo un casino!
    usando il codice che oregon mi ha suggerito, ricevu un errore:
    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.

    ************** Exception Text **************
    System.Net.WebException: An exception occurred during a WebClient request. ---> System.InvalidOperationException: The requested FTP command is not supported when using HTTP proxy.
    at System.Net.FtpWebRequest.GetHttpWebRequest()
    at System.Net.FtpWebRequest.GetRequestStream()
    at System.Net.WebClient.UploadBits(WebRequest request, Stream readStream, Byte[] buffer, Int32 chunkSize, Byte[] header, Byte[] footer, CompletionDelegate uploadCompletionDelegate, CompletionDelegate downloadCompletionDelegate, AsyncOperation asyncOp)
    at System.Net.WebClient.UploadFile(Uri address, String method, String fileName)
    --- End of inner exception stack trace ---
    at System.Net.WebClient.UploadFile(Uri address, String method, String fileName)
    at System.Net.WebClient.UploadFile(String address, String fileName)
    at Installer.frmFine.agguser() in C:\Users\itsadel\source\repos\Installer\Installer\frmFine.vb:line 39
    at Installer.frmFine.btnFine_Click(Object sender, EventArgs e) in C:\Users\itsadel\source\repos\Installer\Installer\frmFine.vb:line 5
    at System.Windows.Forms.Control.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ButtonBase.WndProc(Message& m)
    at System.Windows.Forms.Button.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


    ************** Loaded Assemblies **************
    mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4250.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
    ----------------------------------------
    Installer
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/itsadel/source/repos/Installer/Installer/bin/x64/Debug/Installer.exe
    ----------------------------------------
    Microsoft.VisualBasic
    Assembly Version: 10.0.0.0
    Win32 Version: 14.8.3761.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
    ----------------------------------------
    System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4200.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4220.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
    ----------------------------------------
    System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4250.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4190.0 built by: NET48REL1LAST_B
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------
    System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    System.Runtime.Remoting
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3761.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
    ----------------------------------------

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.

    For example:

    <configuration>
    <system.windows.forms jitDebugging="true" />
    </configuration>

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

    credo che il problema risieda qua:
    The requested FTP command is not supported when using HTTP proxy.
    non so, però, come risolverlo.

    oregon ha scritto:


    E poi, ti avevo suggerito di usare un programma (come FileZilla) per fare l'upload e controllare così di avere tutti i permessi (di scrittura) corretti. L'hai fatto?
    Non posso usare FileZilla, non lo posso installare perché non sono amministratore di sistema sul pc.
    comunque uso TotalCommander che è un programma FTP tipo FileZilla e quando mi collego in FTP al mio spazio su Altervista riesco senza problemi a fare upload e download.
  • Re: Upload file con Visual Basic

    Non ho nessun problema a fornirvi le credenziali di accesso!
    se siete così disponibili da aiutarmi praticamente, ve le do... magari in un messaggio privato.
  • Re: Upload file con Visual Basic

    Prima della UploadFile aggiungi

    client.Proxy = Nothing
  • Re: Upload file con Visual Basic

    Ciao,

    Hai già sentito l'assistenza di "Altervista" visto che vorresti entrare in FTP da un tuo applicativo ???? Ti è permesso ???!!!

    Secondo me il tuo problema stà ( se ti è concesso accedere ) nel modo in cui passi le tue credenziali, ci puoi mostrare il codice che utilizzi ??? ( naturalmente oscura sempre le tue credenziali )

    Alcuni fornitori GRATIS di spazio/domini non permettono per sicurezza accessi che non provengano da programmi FTP da loro approvati.

    Cmq se riesci con totalcommander e vuoi toglierti il dubbio con Filezilla non ti serve installarlo puoi sempre usare una versione PORTABLE di Filezilla Client.

    Byeee
  • Re: Upload file con Visual Basic

    Ciao,
    innanzitutto, grazie a tutti per il tempo che mi state dedicando . siete davvero forti!
    Poi...

    oregon ha scritto:


    Prima della UploadFile aggiungi

    client.Proxy = Nothing
    così le cose sono cambiate: adesso ottengo questo errore:
    See the end of this message for details on invoking 
    just-in-time (JIT) debugging instead of this dialog box.
    
    ************** Exception Text **************
    System.Net.WebException: The remote server returned an error: (553) File name not allowed.
       at System.Net.WebClient.UploadFile(Uri address, String method, String fileName)
       at System.Net.WebClient.UploadFile(String address, String fileName)
       at Installer.frmFine.agguser() in C:\Users\itsadel\source\repos\Installer\Installer\frmFine.vb:line 55
       at Installer.frmFine.btnFine_Click(Object sender, EventArgs e) in C:\Users\itsadel\source\repos\Installer\Installer\frmFine.vb:line 6
       at System.Windows.Forms.Control.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ButtonBase.WndProc(Message& m)
       at System.Windows.Forms.Button.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    
    
    ************** Loaded Assemblies **************
    mscorlib
        Assembly Version: 4.0.0.0
        Win32 Version: 4.8.4250.0 built by: NET48REL1LAST_C
        CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
    ----------------------------------------
    Installer
        Assembly Version: 1.0.0.0
        Win32 Version: 1.0.0.0
        CodeBase: file:///C:/Users/itsadel/source/repos/Installer/Installer/bin/x64/Debug/Installer.exe
    ----------------------------------------
    Microsoft.VisualBasic
        Assembly Version: 10.0.0.0
        Win32 Version: 14.8.3761.0 built by: NET48REL1
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
    ----------------------------------------
    System
        Assembly Version: 4.0.0.0
        Win32 Version: 4.8.4200.0 built by: NET48REL1LAST_C
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Core
        Assembly Version: 4.0.0.0
        Win32 Version: 4.8.4220.0 built by: NET48REL1LAST_C
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
    ----------------------------------------
    System.Windows.Forms
        Assembly Version: 4.0.0.0
        Win32 Version: 4.8.4250.0 built by: NET48REL1LAST_C
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System.Drawing
        Assembly Version: 4.0.0.0
        Win32 Version: 4.8.3761.0 built by: NET48REL1
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System.Configuration
        Assembly Version: 4.0.0.0
        Win32 Version: 4.8.4190.0 built by: NET48REL1LAST_B
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------
    System.Xml
        Assembly Version: 4.0.0.0
        Win32 Version: 4.8.3761.0 built by: NET48REL1
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    System.Runtime.Remoting
        Assembly Version: 4.0.0.0
        Win32 Version: 4.8.3761.0 built by: NET48REL1
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
    ----------------------------------------
    
    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.
    
    For example:
    
    <configuration>
        <system.windows.forms jitDebugging="true" />
    </configuration>
    
    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.
    
    
    
    Ho provato a fare tante modifiche suggerite su internet ricercando il tipo di errore "(553) File name not allowed)". Ho provato anche a cambiare estensione del file con uno comune (.txt) nel caso in cui il provider non accettasse estensioni sconosciute. Ma niente da fare, l'errore è sempre quello che ho riportato sopra.

    dpsandro ha scritto:


    Ciao,

    Hai già sentito l'assistenza di "Altervista" visto che vorresti entrare in FTP da un tuo applicativo ???? Ti è permesso ???!!!

    Secondo me il tuo problema stà ( se ti è concesso accedere ) nel modo in cui passi le tue credenziali, ci puoi mostrare il codice che utilizzi ??? ( naturalmente oscura sempre le tue credenziali )

    Alcuni fornitori GRATIS di spazio/domini non permettono per sicurezza accessi che non provengano da programmi FTP da loro approvati.

    Cmq se riesci con totalcommander e vuoi toglierti il dubbio con Filezilla non ti serve installarlo puoi sempre usare una versione PORTABLE di Filezilla Client.

    Byeee
    No! L'assistenza di Altervista non l'ho ancora contattata... lo farò. Il codice che sto utilizzando adesso è questo:
    
        Dim uploader As WebClient = New WebClient
    
            uploader.Credentials = New NetworkCredential("user", "password")
            uploader.Proxy = Nothing
            uploader.UploadFile("ftp://ftp.sdv.altervista.org/wp-content/uploads/Interventi/user.txt", stNewPercorso & "\user.txt")
    
    
    Con TotalCommander riesco tranquillamente a connettermi allo spazio ftp e scaricare file e fare l'upload di file senza problemi.
    Mi rimane sempre un dubbio che può essere banale ma sempre dubbio rimane: io sto facendo con codice VB.net un upload di un file che già esiste sul server, quando lo faccio con TotalCommander mi viene fuori la finestrella che mi chiede di confermare la sovrascrittura. Quando l'upload avviene tramite il mio programma VB la conferma di sovrascrittura non può essere verificata. Fosse questo il problema??

    ciao
  • Re: Upload file con Visual Basic

    Prova ad usare il metodo Upload con 3 argomenti https://docs.microsoft.com/en-us/dotnet/api/system.net.webclient.uploadfile?view=net-5.0#System_Net_WebClient_UploadFile_System_String_System_String_System_String_ , come metodo passa "STOR" anche se dovrebbe essere il default ,il comando stor dovrebbe sovrascrivere il file , https://www.serv-u.com/resource/tutorial/appe-stor-stou-retr-list-mlsd-mlst-ftp-command
  • Re: Upload file con Visual Basic

    Niente da fare... neanche con il metodo "STOR"
  • Re: Upload file con Visual Basic

    Se vuoi passare le credenziali per una prova...
Devi accedere o registrarti per scrivere nel forum
35 risposte