IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[2.0] Traitement d'une erreur globale


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2004
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 56
    Points : 38
    Points
    38
    Par défaut [2.0] Traitement d'une erreur globale
    Bonjour à tous,

    J'ai une application qui permet à l'utilisateur d'associer une pièce jointe à un formulaire. Jusque là tout va bien.

    Là, où cela se complique, c'est lorsque la taille du fichier dépasse la limite autorisée par l'application (4Mo par défaut ou la valeur définie dans le web.config <httpRuntime maxRequestLength = "10000"/> par exemple).
    En effet, si l'utilisateur sélectionne un fichier plus volumineux, je n'exécute jamais les évenements liés à mon formulaire (par exemple la sub enregistrer associée à un bouton), un erreur au niveau de l'application se produit avant...

    J'ai alors essayé de la traiter dans le global.asax et en effet, je parviens à l'"attraper" et à exécuter du code. J'arrive par exemple à rediriger vers une page d'erreur...
    Cependant, je voudrais seulement revenir au formulaire (avec les valeurs qui ont été postées, pas ceux en base) et afficher un message indiquant à l'utilisateur que le fichier est trop volumineux.

    Et c'est là que je bloque.... Si quelqu'un pouvait me filer un coup de pouce ce serait bien aimable...

  2. #2
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Points : 459
    Points
    459
    Par défaut
    Bonjour,

    Ne serait-il pas plus simple de :

    - Laisser l'utilisateur clicker sur le bouton "uploader"

    - Dans l'évènement lié au bouton de tester la taille du fichier et interrompre la chargement sil il es trop volumineux

    - Affiché un label dans ta page pour informer l'utilisateur


    A suivre

  3. #3
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par mafyoso Voir le message
    Bonjour,

    Ne serait-il pas plus simple de :

    - Laisser l'utilisateur clicker sur le bouton "uploader"

    - Dans l'évènement lié au bouton de tester la taille du fichier et interrompre la chargement sil il es trop volumineux

    - Affiché un label dans ta page pour informer l'utilisateur


    A suivre
    Tu peux pas avoir la taille du fichier avant de l'avoir uploader complétement donc son exception va péter avant

  4. #4
    Nouveau membre du Club
    Inscrit en
    Janvier 2004
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    En effet, je n'ai pas trouver comment intercepter cette exception en dehors du global.asax...
    Et bien entendu, impossible de tester la taille en Java Script avec toutes les protections liées aux input type=file...

  5. #5
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Points : 459
    Points
    459
    Par défaut
    Bonsoir,

    Avec le test suivant, j'ai bien la taille de mon fichier en octets :
    ASPX
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="test.aspx.vb" Inherits="test" %>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Page sans titre</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:FileUpload ID="FileUpload1" runat="server" />
            <asp:Button ID="Button1" runat="server" Text="Button" />
        </div>
        </form>
    </body>
    </html>
    Code behind
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    Partial Class test
        Inherits System.Web.UI.Page
     
        Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
            'taille en octets
            Dim nTaille As Int32 = FileUpload1.PostedFile.ContentLength
        End Sub
    End Class
    Ca ne convient pas?

    A suivre

  6. #6
    Nouveau membre du Club
    Inscrit en
    Janvier 2004
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    Fait l'essai maintenant avec un fichier de 10Mo...
    En toute logique (paramètre par défaut) tu ne passera jamais par ta sub Button1_Click...

  7. #7
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Points : 459
    Points
    459
    Par défaut
    Autant pour moi

    Le problème reste entier . Peut etre peux tu t'orienter vers une interface client (Flash ou Silverlight) ou un exe clickonce, mais bon faut que ça vaille le coup parceque ça représente un développement un peu lourd .

  8. #8
    Nouveau membre du Club
    Inscrit en
    Janvier 2004
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    J'aimerais autant rester simple si possible....

    Je suis certain qu'une solution existe !

    D'autres avis ?

  9. #9
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par cyrilc Voir le message
    J'aimerais autant rester simple si possible....
    Je suis certain qu'une solution existe !
    Pas certain

Discussions similaires

  1. Continuer un traitement après avoir relevé une erreur
    Par Naruto_kun dans le forum PL/SQL
    Réponses: 1
    Dernier message: 20/01/2010, 14h08
  2. Réponses: 10
    Dernier message: 26/11/2009, 10h05
  3. Réponses: 0
    Dernier message: 10/11/2009, 10h46
  4. Erreur lors du traitement d'une dimension
    Par katwes dans le forum Outils BI
    Réponses: 1
    Dernier message: 04/04/2008, 18h53
  5. [PS SQL] générer une erreur en cas de mauvais traitement
    Par Piolet dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 03/08/2006, 09h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo