dropcenter icon indicating copy to clipboard operation
dropcenter copied to clipboard

Autoriser l'upload de gros fichiers.

Open sebsauvage opened this issue 11 years ago • 20 comments

Permettre l'upload de très gros fichiers avec l'upload par chunks pour ne pas être limité par les paramètres du serveur (upload_max_filesize et post_max_size).

J'ai réussi à faire un petit formulaire de test avec https://code.google.com/p/ax-jquery-multiuploader/ et ça marche bien.

(C'est juste une suggestion :-)

sebsauvage avatar Mar 28 '13 12:03 sebsauvage

Arrggh je viens d'installer un nouveau plugin, j'admets que ça me ferais copieusement chier de rerefaire le truc, mais bon c'est vrai que c'est un ajout interessant, je vais voir si le plugin actuel n'a pas un "mode chunk" miracle quelque part ^^

Merci pour la suggestion :)

ldleman avatar Mar 29 '13 13:03 ldleman

Hello, Il me semble que le script que tu as utilisé est celui ci http://blueimp.github.com/jQuery-File-Upload/ Et tu as très bien choisis, il fait du chunking par defaut, il me semble qu'il faudrait simplement enlever dans ton code toute référence à une taille maximal, je l'ai testé il y a un mois sur la beta de dropcenter et l'upload de fichier de plus de 1Go passait (en ayant le uplad_max_size réglé à 128Mo) PS: j'ai du modifier un poil dropcenter pour justement enlever la limite de taille, mais je ne me rappel plus bien

NNois avatar Apr 03 '13 09:04 NNois

En voila une bonne nouvelle qu'elle est bonne :D (même si c'est triste que mes utilisateurs en sachent plus que moi sur mon code XD)

Je ferais les tests d'envois sur mon serveur, je dois bien avoir un iso d'ubuntu qui traine pour tester un gros fichier ^^

ldleman avatar Apr 03 '13 10:04 ldleman

Ça fait un fichier de 1Gio :

dd if=/dev/urandom of=/tmp/gros bs=1M count=1024

Sbgodin avatar Apr 03 '13 10:04 Sbgodin

Merci pour l'astuce (mais je suis sous windows :p)

ldleman avatar Apr 03 '13 14:04 ldleman

Quoi ?! Tu avais l'air pourtant de quelqu'un de sympa et de compétent. J'envisage l'hypothèse de qualités extrêmes qu'il faut contre-balancer avec l'utilisation de windows. Hypothèse qu'il n'est pas nécessaire de vérifier ;-)

Histoire de le faire à la Linux, ne te sert pas de l'image d'Ubuntu. Démarre dessus, lance la commande su-citée, démarre un serveur FTP, active la traduction de port, connecte-toi depuis ton windows en évitant le compte root et télécharge le fichier. Ensuite, recommence parce que tu viens de t'apercevoir que ton serveur FTP n'est pas sécurisé.

Sbgodin avatar Apr 03 '13 14:04 Sbgodin

Hé hé, ça aurait pu être pire, j'aurais pu être sous mac :D

Je suis relativement aigre et incompétent mais je donne bien le change voila tout :D (j’espère t'avoir rassuré dans tes convictions ^^).

Je vais me le tenter avec un film en hd plutôt :D

ldleman avatar Apr 03 '13 15:04 ldleman

j'ai vérifié, le plugin gère le chunck, mais pas mal de modifs à faire, donc a voir dans la prochaine version

ldleman avatar Apr 14 '13 15:04 ldleman

j'ai hâte !!!

cobalt74 avatar Apr 20 '13 19:04 cobalt74

Ça risque d'être long ^^, en fait les fichiers devront être envoyés via POST plutôt que via FILES et en multiples morceaux à reconstituer, vas falloir que jme prenne un peu la tête ^^

ldleman avatar Apr 23 '13 05:04 ldleman

@ldleman va falloir que je sorte le fouet pour que tu mettes une date sur le milestone ;) clac

cobalt74 avatar Apr 23 '13 05:04 cobalt74

Pourquoi tu ne prend pas une lib comme ça: https://code.google.com/p/ax-jquery-multiuploader/ ? Je me suis installé ça sur mon site pour uploader de gros fichiers, et ça marche très bien. (Il s'occupe de faire le découpage en chunks lui-même, et le script php de réception est fourni.)

sebsauvage avatar Apr 23 '13 07:04 sebsauvage

@cobalt74 Ca sert à rien de mettre des dates je les respectent jamais :D

@sebsauvage Ca m'obligerais à revoir toute ma logique interne d'upload, alors que la librairie actuelle peut également gérer le chunk (mais ne fournis pas la partie PHP ^^), je perdrais plus de temps a réintégrer une nouvelle libs qu'a adapter l'actuelle

ldleman avatar Apr 23 '13 07:04 ldleman

J'imagine que tu l'as vu mais un example de la partie php est fournis ici: https://github.com/blueimp/jQuery-File-Upload/blob/master/server/php/UploadHandler.php cf https://github.com/blueimp/jQuery-File-Upload/wiki/Chunked-file-uploads Et bien sur ça fais quelques modifs...

NNois avatar Apr 23 '13 09:04 NNois

Non je ne l'avais pas vu merci :), cela dit il m'a l'air bien long et complexe pour un simple upload ^^ je ne sait pas si je mettrais moins de temps a bidouiller ma propre solution intégrée au drop

ldleman avatar Apr 23 '13 18:04 ldleman

Bonjour idelman Bravo pour ton boulot ! Avant que tu te lances dans le chunck, je te propose d'ajouter un truc qui serait vraiment génial, et certainement plus simple : un mode drop OU FTP (en hard codant les params dans le source). Ainsi, les fichiers pourraient arriver sans chunck. Quelques pistes : http://www.siteduzero.com/forum/sujet/drag-and-drop-vers-ftp-78285 https://code.google.com/p/html5-javascript-php-ftp/

un autre site ou j'échange avec un gars qui a développé un truc similaire mais moins soigné que toi : http://lehollandaisvolant.net/index.php?d=2012/07/25/18/35/32-#top

Merci pour ton taf et bravo ! Alex

alexflex2000 avatar May 10 '13 12:05 alexflex2000

Yop

Oui c'est une idée :), peux tu la placer dans une suggestion à part que ce soit plus simple à classer/conserver ? :D

Pour le moment j'ai encore certains bugs à stabiliser (notamment au niveau des mails) et je bosse sur un petit dropbox like coté client qui commence à bien fonctionner, mais après tout ça je me concentrerais a fond sur l'upload de gros fichiers.

ldleman avatar May 12 '13 11:05 ldleman

ok, merci pour ta réponse. Je déplace ma suggestion dans les "request" A bientôt Alex

alexflex2000 avatar May 12 '13 11:05 alexflex2000

Est-ce que quelqu'un à testé l'option de l'upload en stream de jquery file upload ? (le script utilisé ici) c'est l'option "multipart" = false. cf https://github.com/blueimp/jQuery-File-Upload/wiki/Options#multipart ça utilise en fait http://de3.php.net/manual/fr/features.file-upload.put-method.php et avec ça on upload largement des gros fichier, ça m'as l'air de marcher ici mais je ne sais pas si il y a des limites de certains navigateurs ou autre...

NNois avatar Dec 02 '13 13:12 NNois

Jamais testé mais c'est une piste a explorer :), il me faudrait juste une équipe de 30 personne pour avancer correctement sur mes projets parallèles ^^

A voir si le chunk est plus ou moins avantageux que cette technique :)

ldleman avatar Dec 07 '13 10:12 ldleman