Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

File Upload - Το αρχείο είναι μεγαλύτερο από το επιθυμητό μέγεθος, πως αντιμετωπίζεται;

Îåêßíçóå áðü ôï ìÝëïò epp1123. Τελευταία δημοσίευση από το μέλος eliasm στις 28-05-2008, 13:25. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  27-05-2008, 14:36 42435

    File Upload - Το αρχείο είναι μεγαλύτερο από το επιθυμητό μέγεθος, πως αντιμετωπίζεται;

    Αυτό που μου βγαίνει, όταν το μέγεθος του αρχείου είναι μεγαλύτερο από το επιθυμητό, είναι το 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




  •  28-05-2008, 13:25 42465 σε απάντηση της 42435

    Απ: File Upload - Το αρχείο είναι μεγαλύτερο από το επιθυμητό μέγεθος, πως αντιμετωπίζεται;

    Το μέγεθος του αρχείου που μπορείς να κανεις upload καθώς και το timeout καθορίζονται στο web.config

    π.χ.

    <system.web>
           <httpRuntime  maxRequestLength="10000" executionTimeout="3600" />
    </system.web>

    καλό θα ήταν να χρησιμοποιήσεις αυτόν τον τρόπο για να ελέγξεις αν το αρχείο που θέλει να ανεβάσει ο χρήστης είναι μεγαλύτερο απο το μέγεθος που επιτρέπεις.

    Nομίζω επίσης ότι θα έπρεπε όλη η ρουτίνα σου να τρέχει στο Page_Load εφόσον είναι PostBack

     

     


    Don't try to argue with the machine
    Elias Markelis
    MCPD,MCT
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems