J'ai besoin de télécharger de gros fichiers d'au moins J'utilise: p> avant d'utiliser: p> (ne va pas ici mais donne J'ai actuellement défini le exécutionTimeout = " 999999 strong>" maxrequestlength = " 2097151 strong>" (c'est 2 Go!)
utiliquement requalifalifedreicturl = "vrai" minfreethreads = "8" minlocalrequestfreethreads = "4"
AppequesqueaulImit = "5000" Enferversionheader = "vrai" DemandeLengthReshold = "8192" P>
blockQuote> J'ai aussi défini J'ai changé Je suis incapable de télécharger des fichiers de même 1 Go code> taille du fichier.
J'utilise asp.net code>, c # code> et IIS 5.1 code> comme plate-forme de développement. Système .OUTOfMemoryException Code> Exception) P> httpruntime code> à: p>
maxallowedContenTlength = "** 2097151 **" code> (suppose que c'est seulement pour IIS7) p> IIS Code> Délai de connexion à 999 999 secs aussi. p> 4578KB code> (ajaz-uploader.zip) p> p> P>
8 Réponses :
Essayez de copier sans charger tout ce qui se passe dans la mémoire:
Bonjour Manitra, j'ai essayé d'utiliser les fonctions CopyFile () dans le client et copiez () dans le serveur, mais j'ai eu des erreurs. Une dernière chose que j'ai observée, c'est que WriteAllbytes fonctionnera jusqu'à 3 Mo de données, plus que celui qu'il donne "System.Web.Services.protocols.SoapException: System.Web.Services.protocols.SoapException: Il y avait une exception à exécuter les extensions spécifiées Dans le fichier de configuration. ---> System.web.httpException: la longueur maximale de la demande dépassée ..... "Exception.
vérifier Cette entrée de blog sur les grands téléchargements de fichiers. Il dispose également de quelques liens avec des forums de discussion qui peuvent également éclairer cela. La suggestion est d'utiliser HTTPHANDLLER personnalisé pour ce contrôle de Flash / Silverlight personnalisé. P>
J'ai googlé et trouvé - Neetupload
Une autre solution serait de lire le octets sur le client et envoyez-le sur le serveur, le serveur enregistre le fichier. Exemple p>
serveur: dans l'espace de noms - Uploader, classe - Télécharger P>
string filename = "C:\..\file.abc"; Uploader.Upload up = new Uploader.Upload(); FileStream fs = File.Create(fileName); BinaryReader br = new BinaryReader(fs); // Read all the bytes Byte[] data = br.ReadBytes(); up.Write(filename,data);
Je n'ai pas vérifié le code. Je ne suis pas sûr que cela fonctionne, je voulais juste transmettre l'idée. C'est presque ce que FTP fait, sauf que, au lieu du port 20/21, tout se passe sur le port 80.
Wow! Je suis tellement content que vous ayez mentionné Neatupload. J'ai pris une copie pour moi-même et j'ai fait le téléchargement si facile pour moi d'ajouter à mon projet. Merci.
Je sors d'exception de mémoire à Br.Readbytes (). Taille du fichier ~ 700 Mo
pour IIS 6.0 Vous pouvez modifier ASPMaxentityLallyAllowed dans Metabase.xml, mais je ne pense pas que ce soit aussi simple dans IIS 5.1. P>
Ce lien peut aider, espérons qu'il fait: p>
http://itonlinesolutions.com/phpbb3/viewtopic.php?f = 3 & T = 63 P>
Je pense que vous devez utiliser la réponse.TransMitFile, cette méthode ne se charge pas dans la mémoire Web Server le fichier, il diffuse le fichier sans utiliser les ressources du serveur Web.
Ne pas ouvrir le fichier en mémoire, vous supprimerez le serveur !! Avec tout le respect, toutes les autres solutions postées semblent fonctionner avec de petits fichiers, mais pas avec des fichiers 1GiG
Cette méthode peut être utilisée à l'envers, pour télécharger ou télécharger de gros fichiers, permettez-moi de voir si je peux trouver les docs
Nous avons une application qui doit parfois télécharger des fichiers 1 et 2 Go, ainsi de suite dans cela. Après de nombreuses recherches, ma conclusion est que nous devons mettre en œuvre le Neetupload ou quelque chose comme ça.
Aussi, soyez conscient que p> est mesuré dans octets fort>, tandis que p> est mesurée dans kilo-octets strong>. Donc, vos valeurs devraient ressembler davantage à ceci: p>
Réglage de la maxeQuestLength doit être suffisant pour le téléchargement de fichiers supérieurs à 4 Mo, la limite par défaut pour la taille de la demande HTTP. Veuillez vous assurer que rien ne remplace votre fichier de configuration. P>
Alternativement vous pouvez vérifier le Téléchargement ASYNC fourni par Telerik A>, qui télécharge des fichiers par 2 Mo de morceaux et peut efficacement contourner la limitation de la taille de la demande ASP.NET. P>
Je sais que c'est une ancienne question, mais toujours sans réponse.
C'est ce que vous devez faire: p>
dans votre fichier web.config, ajoutez ceci dans: p> < Pré> xxx pré>
et ceci sous p> vous voyez dans le commentaire comment cela fonctionne. En un, vous devez avoir le SIE en octets et dans l'autre en kilo-octets. J'espère que cela pourra aider. p> p>
Mais cela ne fonctionne pas dans mon cas. Pouvez-vous s'il vous plaît élaborer comment le faire fonctionner. Tia