begin process at 2012 05 28 03:07:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

AU SECOURS !!!!

 > 

pb sur upload de fichier en asp.net avec c#


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb sur upload de fichier en asp.net avec c#

mardi 8 février 2005 à 20:51:32 | pb sur upload de fichier en asp.net avec c#

amorosalain



SAM

Pour des clients qui veulent transférer des fichiers de grosses taille sur le serveur, j'ai mis en place un service de ftp via un site web. Pour cela, j'utilise un form contenant une balise <input type=file id="F_file" runat="server" />

Voici une partie du code (de la fonction appelée par l'évenement du click sur le bouton envoyer) qui effectue l'upload :

if (F_file.PostedFile != null
{
   
try
   {
      Server.ScriptTimeout = 3600;
      
int taille = F_file.PostedFile.ContentLength;
      
string filename = Path.GetFileName(F_file.PostedFile.FileName);
      
// enregistrement du fichier sur le serveur
      
string path = Server.MapPath("./ftp/"+filename);
      FileStream fichier =
new FileStream(path,FileMode.Create,FileAccess.Write);
      Stream infile = F_file.PostedFile.InputStream;
      
byte[] b = new byte[500];
      
int nbcar = 0;
      
while ((nbcar = infile.Read(b,0,500))!=0)
      {
         fichier.Write(b,0,nbcar);
      }
      fichier.Close();
      infile.Close();
   
}
   
catch (Exception err)
   {
      
string texte = err.ToString();
      LblError.Text = texte; 
   
}
}

L'upload fonctionne très bien pour de petit fichier mais, j'obtiens une HttpException "Délai d'attente de la demande dépassé" sur des fichiers de plus de 2Mo (environ). En local, (exécution sur mon pc), sur 3Mo, ca passe car la sauvegarde est rapide, mais sur de très gros fichiers, 20Mo par exemple, le code ne passe même pas le test "if (F_file.PostedFile != null) " et il me dit qu'il ne trouve pas la page demandée (???).

Si quelqu'un a déjà eu des problèmes sur l'upload de gros fichiers et sait comment les résoudre... je suis preneur.

Merci.

PS : à noter que l'exception "Délai d'attente..." n'a apparement rien à voir avec le temps d'exécution coté serveur (limité à 90s coté administration IIS) car je le modifie avec Server.ScriptTimeout = 3600 (1 heure) et que cette dernière instruction fonctionne très bien sur d'autre page.




mercredi 9 février 2005 à 17:44:31 | Re : pb sur upload de fichier en asp.net avec c#

Nurgle

Membre Club Administrateur CodeS-SourceS
Salut :

Ton problème est peut être dû au navigateur web du client qui veut tranférer le fichier. Pour le navigateur, l'upload n'est rien d'autre que l'affichage d'une page...et quand la page met vraiment beaucoup de temps à s'afficher (pour envoyer 20Mo par exemple)
, il abandonne de lui-même le chargement, ce qui donne : "Impossible de trouver la page demandée..." et tout le reste.

La solution la plus efficace est de tronquer les fichiers à uploader en plus petits, ce qui est un peu chiant pour le client...

Une autre solution est d'installer un petit programme côté client pour faire l'upload, ou même un ActiveX...

à+

Nurgle
C'est une grande folie que de vouloir être sage tout seul !
mercredi 8 avril 2009 à 13:13:52 | Re : pb sur upload de fichier en asp.net avec c#

noeldep

Membre Club
Réponse acceptée !

bonjour

Il y a deux parametres a prendre en compte:
1-) pour le time out:
dans iis il y a le parametrage de asp.net (du site publier concerné) tu fait edit configuration
tu vas dans l'onglet application et la tu as un delai de time out request (un fichier envoyer est sous forme de request) met la valeur en second que tu veux, ca limitera le temps de transfert max mais pas la taille du fichier

2-)pour la taille du fichier:
dans le fichier web.config de ton serveur iis il faut mettre (entre les balise configuration et system ) ce qu'il y a en italique:

<configuration .........>
 <system.web>
<!--
 <httpRuntime maxRequestLength="10240"/> (<= pour 10Mo)
 La valeur doit être comprise dans la plage 0-2097151
-->
    <httpRuntime executionTimeout="3600" maxRequestLength="2097151" />

  </system.web>
</configuration>

j'espere que ma response sera correcte :-)

mercredi 8 avril 2009 à 23:05:25 | Re : pb sur upload de fichier en asp.net avec c#

amorosalain



SAM Bonjour, Oui la réponse est correcte. J'avais publié ce problème il y a qq années maintenant (d'ailleurs j'avais complètement oublié que j'avais un pb en cours sur codes sources). Depuis, j'avais trouvé le paramètre à renseigner dans le web.config. Mais merci pour la réponse car elle pourra profiter à qq d'autres. ++


Cette discussion est classée dans : fichier, file, upload, fichiers, postedfile


Répondre à ce message

Sujets en rapport avec ce message

Upload de fichier automatique, GALERE [ par vincentp ] Bonjour à tous,Mon projet est d'envoyer des fichiers sur internet avec VB6 sans passer par le ftp. Sur ce site je peux créer des pages ASP et donc réc upload => asp.net [ par jimmy69 ] Bonjour a tous,J'essaye d'uploader des fichiers ....grace aux sources trouves sur ce site j'arrive bien a uploader un fichier ds un repertoire determi Download de fichier [ par Sardonnen ] bonjour,j'utilise asp.net V1 pour uploader mes fichiers sur le serveur mais je mets une clé numérique au début du nom du fichier avant de le sauvegard renommer un fichier lors d'un upload avec AspSmartUpload [ par aymdeb ] Bonjour, J'uploade des fichiers avec AspSmartUpload. J'aimerai renommer tous les fichiers pour être sûr qu'il écrase rien?Comment faire?MerciPS : je c Probleme upload de gros fichiers [ par naej94 ] Salut à tous, Je dévellope actuellement une application de transfert de fichier pour la boite ou je travail en C#/aspx , j'ai d'abord tout codé en loc ASP: Analyser un fichier avant upload [ par adam525 ] Bonjour,dans le cadre d'un projet je dois permettre aux visiteurs d'un site d'uploader des fichiers sur le serveur. L'upload se fait en asp. J'ai trou Upload fichier ASP.NET Sous Win 2003 Server [ par gymdev ] [i][b]Bonjour, J'ai un problème en asp.net sur l'upload des fichiers de plus de 4Mb. J'ai déjà augmenter la taille de MaxRequestLength en 20Mb , En Duplique un fichier vb [ par AlexMS ] Salut à tous. J'ai développé une application web permettant à mes amis d'uploader des photos. Mais avant de pouvoir le faire, il faut que je leur cré Drag And Drop Upload [ par Demipouce ] Bonjour ! (Pardonnez moi d'avance pour les accents et l'ortographe, mais je suis sur un clavier qwerty et ce n'est pas une mince affaire) Jai une pet List fichier serveur [ par eiffel1974 ] Bonjour, J'ai un calendrier qui marche parfaitement et j'aimerais faire la même chose avec les fichiers contenu dans mon répertoire (ouvrir un "popup


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,685 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales