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 :

Taille d un fichier uploadé


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 113
    Par défaut Taille d un fichier uploadé
    Bonsoir tout le monde,

    Je soumets à vos avis éclairés une question technique :

    Je dois uploader un fichier sur un serveur distant ( IIS ) dans un répértoire temporaire.

    Par la suite, je transfére ce fichier vers un fichier définitif.

    J'aimerai créer un thread qui copiera ce fichier du répértoire temporaire au répértoire définitif à condition qu'il soit complétement chargé.

    Et je bloque sur ce point.

    Je pensais faire boucler mon thread, tester la taille a chaque tour, si la taille ne change pas entre deux ou trois boucles, on copie.

    Y a t il d'autres solutions ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par BATCHOS CON TEQUILA Voir le message
    Y a t il d'autres solutions ?
    Tu peux aussi vérifier si le fichier est ouvert, en essayant de l'ouvrir en mode exclusif :
    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
     
    FileStream fs = null;
    try
    {
        fs = new FileStream("leFichier.txt", FileMode.Open, FileAccess.Read, FileShare.None);
        // si pas d'erreur, le fichier n'était pas ouvert, donc le transfert est sans doute fini
    }
    catch(IOException)
    {
            // erreur : le fichier était déjà ouvert, donc le transfert est sans doute encore en cours
    }
    finally
    {
        if (fs != null)
            fs.Close();
    }

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 113
    Par défaut
    Merci

    Ca me semble beaucoup plus simple et plus efficace que ma méthode.

    Bonne soirée

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 113
    Par défaut
    En fait, j'ai une autre question.

    Est ce que je peux faire un truc du style ? :


    FileStream fs = null;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHILE(fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.None));
    Comment en somme intércepter l exception dans un while ?

    Merci d'avance

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par BATCHOS CON TEQUILA Voir le message
    Comment en somme intércepter l exception dans un while ?
    Ben en mettant le try/catch dans le while...
    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
    19
    20
    21
    22
     
    while(true)
    {
        FileStream fs = null;
        try
        {
            fs = new FileStream("leFichier.txt", FileMode.Open, FileAccess.Read, FileShare.None);
            // si pas d'erreur, le fichier n'était pas ouvert, donc le transfert est sans doute fini
            // on sort de la boucle
            break;
        }
        catch(IOException)
        {
            // erreur : le fichier était déjà ouvert, donc le transfert est sans doute encore en cours
            // on continue à boucler
        }
        finally
        {
            if (fs != null)
                fs.Close();
        }
    }

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 113
    Par défaut
    Et bien écoute, magnifique.

    Il me manquait le while (true)... Je n'y aurai jamais pensé

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Taille d'un fichier uploadé
    Par Lordsephiroth dans le forum Langage
    Réponses: 9
    Dernier message: 17/03/2010, 08h34
  2. [WB1] Vérifier la taille d'un fichier uploadé
    Par basam95 dans le forum WebDev
    Réponses: 2
    Dernier message: 10/06/2008, 09h17
  3. [CKEditor] taille maximale des fichiers uploadés
    Par Invité dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 03/12/2006, 11h38
  4. [WebForms]Comment connaître la taille d'un fichier à uploader ?
    Par WELCOMSMAIL dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 02/05/2006, 15h27
  5. [Upload] taille d'un fichier et limite d'upload
    Par fraizas dans le forum Langage
    Réponses: 1
    Dernier message: 07/10/2005, 11h01

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