Oppure

Loading
02/01/10 18:58
Adamettin
Ho un problema inerente a una funzione di Upload che ho fatto

Praticamente ho creato un programma che permette di uppare file immagini non superiori a una certa grandezza in un sito mio altervista tramite FTP, ho rilasciato già varie versioni e nessun problema.

Solo a un numero ristretto di utenti, capita che durante l'Upload del file gli restituisce l'errore "connessione sottostante chiusa: il server ha commesso una violazione la protocolo", ho cercato su internet ma ho trovato poco, avete idea su una possibile risoluzione del problema?

Vi ringrazio in anticipo per qualsiasi vostra risposta :)

Ps. utilizzo Microsoft Visual Basic 2008, la funzione per l'upload che uso è: my.computer.network.uploadfile("percorsofile","url","campo1","campo2(password)";)
Ultima modifica effettuata da Adamettin 02/01/10 19:56
aaa
02/01/10 20:49
Postato originariamente da Adamettin:

Ho un problema inerente a una funzione di Upload che ho fatto

Praticamente ho creato un programma che permette di uppare file immagini non superiori a una certa grandezza in un sito mio altervista tramite FTP, ho rilasciato già varie versioni e nessun problema.

Solo a un numero ristretto di utenti, capita che durante l'Upload del file gli restituisce l'errore "connessione sottostante chiusa: il server ha commesso una violazione la protocolo", ho cercato su internet ma ho trovato poco, avete idea su una possibile risoluzione del problema?

Vi ringrazio in anticipo per qualsiasi vostra risposta :)

Ps. utilizzo Microsoft Visual Basic 2008, la funzione per l'upload che uso è: my.computer.network.uploadfile("percorsofile","url","campo1","campo2(password)";)


Beh scritto così sembra un errore relativo al server... comunque prova ad allegare il programma che ci dò un occhiata.
02/01/10 21:06
Adamettin
Siccome devo modificare delle cose, ti riporto ad un altro progetto che comunque ha lo stesso problema nell'upload immagine, qua il link per scaricarlo: megaupload.com/

Dopo aver creato la propria immagine, quando si va per upparla da quest'errore solo ad un numero abbastanza ristretto di persone, alla maggiorparte delle persone funziona...
aaa
02/01/10 22:18
Scusa forse non mi sono espresso correttamente.. intendevo anche il sorgente.

Comunque se alle persone che capita questo problema lo risocntrano OGNI volta che utilizzano questo software potrebbe essere causato dal malfunzionamento del .NET Framework.
03/01/10 10:38
Adamettin
Si, è proprio ogni volta, non è una cosa che a tentativi va...

Comunque il codice del progetto è questo:

  Private Sub btnSfoglia_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSfoglia.Click
        'Creo una OpenFileDialog e la apro per far scegliere all'utente il file da uppare
        Dim ApriFile As New OpenFileDialog

        ApriFile.ShowDialog()

        'In caso abbia scelto un file prende tutte le informazioni su di esso e le mette
        'su dei label
        If ApriFile.FileName.Length > 0 Then
            Dim LeggiInfoFile As New IO.FileInfo(ApriFile.FileName)

            LabelDataCreazione.Text = LeggiInfoFile.CreationTime
            LabelDataUltimaModifica.Text = LeggiInfoFile.LastWriteTime
            LabelEstensione.Text = LeggiInfoFile.Extension
            LabelGrandezza.Text = LeggiInfoFile.Length & " Byte"
            LabelNome.Text = LeggiInfoFile.Name

            TextBoxSfoglia.Text = ApriFile.FileName

            GroupBoxInformazioniFile.Enabled = True
        End If
    End Sub

    Private Sub ButtonUpload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonUpload.Click
        'Se il file è minore di 200 KB lo può uppare, altrimenti restituisce un'errore
        If (LabelGrandezza.Text.Substring(0, LabelGrandezza.Text.Length - 5) / 1024) < 2000 Then
            Try
                'Verifico se il file scelto è un'immagine
                Dim ImageTest As Image

                Dim Mem As New IO.MemoryStream
                Dim Bytes() As Byte = IO.File.ReadAllBytes(TextBoxSfoglia.Text)

                Mem.Write(Bytes, 0, Bytes.Length)

                ImageTest = Image.FromStream(Mem)

                Mem.Close()

                Mem.Dispose()

                ImageTest.Dispose()

                'Se è un'immagine la uppa
                My.Computer.Network.UploadFile(TextBoxSfoglia.Text, "http://nomesito.org/" & LabelNome.Text & LabelEstensione.Text, "Username", "Password")
            Catch ex As Exception
                MsgBox(ErrorToString, MsgBoxStyle.Critical)
                Exit Sub
            End Try
        Else
            MsgBox("Il file scelto è troppo grande! La grandezza massima può essere di 200 KB", MsgBoxStyle.Information)
        End If
    End Sub
aaa
03/01/10 12:23
Postato originariamente da Adamettin:

Si, è proprio ogni volta, non è una cosa che a tentativi va...

Comunque il codice del progetto è questo:

  Private Sub btnSfoglia_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSfoglia.Click
        'Creo una OpenFileDialog e la apro per far scegliere all'utente il file da uppare
        Dim ApriFile As New OpenFileDialog

        ApriFile.ShowDialog()

        'In caso abbia scelto un file prende tutte le informazioni su di esso e le mette
        'su dei label
        If ApriFile.FileName.Length > 0 Then
            Dim LeggiInfoFile As New IO.FileInfo(ApriFile.FileName)

            LabelDataCreazione.Text = LeggiInfoFile.CreationTime
            LabelDataUltimaModifica.Text = LeggiInfoFile.LastWriteTime
            LabelEstensione.Text = LeggiInfoFile.Extension
            LabelGrandezza.Text = LeggiInfoFile.Length & " Byte"
            LabelNome.Text = LeggiInfoFile.Name

            TextBoxSfoglia.Text = ApriFile.FileName

            GroupBoxInformazioniFile.Enabled = True
        End If
    End Sub

    Private Sub ButtonUpload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonUpload.Click
        'Se il file è minore di 200 KB lo può uppare, altrimenti restituisce un'errore
        If (LabelGrandezza.Text.Substring(0, LabelGrandezza.Text.Length - 5) / 1024) < 2000 Then
            Try
                'Verifico se il file scelto è un'immagine
                Dim ImageTest As Image

                Dim Mem As New IO.MemoryStream
                Dim Bytes() As Byte = IO.File.ReadAllBytes(TextBoxSfoglia.Text)

                Mem.Write(Bytes, 0, Bytes.Length)

                ImageTest = Image.FromStream(Mem)

                Mem.Close()

                Mem.Dispose()

                ImageTest.Dispose()

                'Se è un'immagine la uppa
                My.Computer.Network.UploadFile(TextBoxSfoglia.Text, "http://nomesito.org/" & LabelNome.Text & LabelEstensione.Text, "Username", "Password")
            Catch ex As Exception
                MsgBox(ErrorToString, MsgBoxStyle.Critical)
                Exit Sub
            End Try
        Else
            MsgBox("Il file scelto è troppo grande! La grandezza massima può essere di 200 KB", MsgBoxStyle.Information)
        End If
    End Sub


Il codice dovrebbe essere esatto. Potrebbero esserci due ipotesi: la prima è che sia un problema del server, il secondo è che si verifica un problema riguardante il .NET Framework. Prova rilasciando l'applicazione in un pacchetto d'installazione che installi anche l'ultima versione del .NET Framework.
03/01/10 13:10
Adamettin
Postato originariamente da D@vide:

Postato originariamente da Adamettin:

Si, è proprio ogni volta, non è una cosa che a tentativi va...

Comunque il codice del progetto è questo:

  Private Sub btnSfoglia_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSfoglia.Click
        'Creo una OpenFileDialog e la apro per far scegliere all'utente il file da uppare
        Dim ApriFile As New OpenFileDialog

        ApriFile.ShowDialog()

        'In caso abbia scelto un file prende tutte le informazioni su di esso e le mette
        'su dei label
        If ApriFile.FileName.Length > 0 Then
            Dim LeggiInfoFile As New IO.FileInfo(ApriFile.FileName)

            LabelDataCreazione.Text = LeggiInfoFile.CreationTime
            LabelDataUltimaModifica.Text = LeggiInfoFile.LastWriteTime
            LabelEstensione.Text = LeggiInfoFile.Extension
            LabelGrandezza.Text = LeggiInfoFile.Length & " Byte"
            LabelNome.Text = LeggiInfoFile.Name

            TextBoxSfoglia.Text = ApriFile.FileName

            GroupBoxInformazioniFile.Enabled = True
        End If
    End Sub

    Private Sub ButtonUpload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonUpload.Click
        'Se il file è minore di 200 KB lo può uppare, altrimenti restituisce un'errore
        If (LabelGrandezza.Text.Substring(0, LabelGrandezza.Text.Length - 5) / 1024) < 2000 Then
            Try
                'Verifico se il file scelto è un'immagine
                Dim ImageTest As Image

                Dim Mem As New IO.MemoryStream
                Dim Bytes() As Byte = IO.File.ReadAllBytes(TextBoxSfoglia.Text)

                Mem.Write(Bytes, 0, Bytes.Length)

                ImageTest = Image.FromStream(Mem)

                Mem.Close()

                Mem.Dispose()

                ImageTest.Dispose()

                'Se è un'immagine la uppa
                My.Computer.Network.UploadFile(TextBoxSfoglia.Text, "http://nomesito.org/" & LabelNome.Text & LabelEstensione.Text, "Username", "Password")
            Catch ex As Exception
                MsgBox(ErrorToString, MsgBoxStyle.Critical)
                Exit Sub
            End Try
        Else
            MsgBox("Il file scelto è troppo grande! La grandezza massima può essere di 200 KB", MsgBoxStyle.Information)
        End If
    End Sub


Il codice dovrebbe essere esatto. Potrebbero esserci due ipotesi: la prima è che sia un problema del server, il secondo è che si verifica un problema riguardante il .NET Framework. Prova rilasciando l'applicazione in un pacchetto d'installazione che installi anche l'ultima versione del .NET Framework.

Un aiutino? Non ho idea di come incominciare
aaa
03/01/10 13:14
Un aiutino? Non ho idea di come incominciare

Intendi per creare un pacchetto d'installazione che installi il progetto? Se vai su proprietà del progetto, se utilizzi Visual Studio, c'è la creazione guidata.
Ultima modifica effettuata da 03/01/10 18:12