Αυτό που μου βγαίνει, όταν το μέγεθος του αρχείου είναι μεγαλύτερο από το επιθυμητό, είναι το
The connection was reset (επίτηδες πήγα να ανεβάσω αρχεία μεγαλύτερα για να τεστάρω)
. Προκειμένου να αποφύγω αυτή τη κατάσταση, να μένει η σελίδα μου "ζωντανή" και απλά να μπαίνει σε ένα ενημερωτικό label που έχω το κείμενο πως το "μέγεθος είναι μεγαλύτερο", τι κώδικα πρέπει να γράψω (VB πάντα.) Δυστυχώς η googlίαση δε βοήθησε και πολύ. Κάτι βρήκα, αλλά πιο πολύ με μπέρδεψε παρά με βοήθησε.
Σημειωτέον, το παράδειγμα το τρέχω τοπικά, δεν είναι σε κάποιον Server.
Σας δίνω τον κώδικα που έχω γράψει
μέχρι στιγμής για το FileUpload
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | Protected Sub UploadButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) 'Ορισμός Μεταβλητών Dim TempFileUpload As New FileUpload Dim TempResultLabel As New Label Dim ClientSideFileName As String Dim ServerSideFilePath As String 'Βρίσκουμε τα control TempFileUpload = ProductManagementFormView.FindControl("PiconFileUpload") TempResultLabel = ProductManagementFormView.FindControl("UploadResultLabel") 'Ορίζουμε το path του server ServerSideFilePath = "C:\" 'Εκίννηση διαδικασίας ανεβάσματος αρχείου If TempFileUpload.HasFile Then 'Παίρνουμε το όνομα του αρχείου που βρίσκεται στον client ClientSideFileName = TempFileUpload.FileName 'Ελέγχουμε αν αυτό το αρχείο είναι κενό ή είναι μεγαλύτερο από 4 MB If 0 < TempFileUpload.FileBytes.Length <= 4096 Then 'Καθορίζουμε το path που θα αποθηκευτεί το αρχείο στο server + το όνομα του αρχείου ServerSideFilePath = ServerSideFilePath + ClientSideFileName 'Ελέγχουμε αν υπάρχει ήδη το αρχείο με αυτό το όνομα If System.IO.File.Exists(ServerSideFilePath) Then TempResultLabel.Text = "Το αρχείο που προσπαθείτε να ανεβάσετε υπάρχει ήδη" Else 'Ανεβάζουμε το αρχείο στο server Try TempFileUpload.SaveAs(ServerSideFilePath) TempResultLabel.Text = "Το αρχείο ανέβηκε επιτυχώς" Catch ex As Exception TempResultLabel.Text = "Το αρχείο δυστυχώς δεν ανέβηκε. Δοκιμάστε αργότερα." End Try End If Else TempResultLabel.Text = "Το αρχείο είναι μεγαλύτερο από 4 MB ή είναι 0 MB " End If Else TempResultLabel.Text = "" End If End Sub |