Question

On m'a demandé de créer une application ftp sur mesure que les utilisateurs téléchargeraient afin de pouvoir télécharger des fichiers vidéo (jusqu'à 100 Mo).

  • ils veulent que ce soit idiot (c'est-à-dire facile pour les non initiés) Je suppose que la mise en place d'une application ftp telle que FileZilla avec son nom d'utilisateur et son mot de passe serait trop compliquée pour la plupart des utilisateurs.
  • cross plate-forme (ouch)

Je ne suis certainement pas la première personne à avoir abordé le problème de la manière de permettre aux utilisateurs de télécharger des fichiers volumineux. Vous vous demandez si quelqu'un peut me donner des conseils.

Était-ce utile?

La solution

(Faut-il que ce soit FTP? FTP a des problèmes de pare-feu, de mode ASCII et bien sûr, le mot de passe est en clair.)

De nombreuses langues ont des bibliothèques FTP disponibles que vous pouvez relier avec une petite quantité de colle d’interface utilisateur pour créer votre propre application de téléchargement simple. Par exemple, Python a un ftplib dans la bibliothèque standard. La dernière fois que j'ai fait cela, c'était en C avec ftplib de Pfau, par exemple, mais les langages de script modernes seront beaucoup plus faciles à écrire si vous ne craignez pas les frais généraux liés au conditionnement de votre application avec un interprète.

Vous avez .NET dans vos balises ... il n'y a pas de FTP dans la bibliothèque de classes standard pour .NET mais vous pouvez certainement télécharger des bibliothèques tierces librement. D'autre part, vous dites multiplate-forme, donc je ne suis pas sûr que vous parliez vraiment de .NET sur le client.

Ce que vous pouvez faire est de fournir plusieurs moyens de téléchargement, par exemple un fichier de base HTTP * intégré dans votre site, que tout le monde saura utiliser, et une interface FTP [S?] standard pour les utilisateurs avancés qui être capable d'utiliser un client FTP. Ce n’est pas vraiment difficile d’exploiter un client FTP: il suffit de leur dire de coller une URL ftp: // dans l’explorateur Windows et la plupart des gens devraient y aller correctement.

*: l’idéal est d’utiliser les commentaires AJAX pour informer l’utilisateur du processus de téléchargement et / ou peut-être un programme de téléchargement Flash. Et n'oubliez pas d'activer / désactiver toutes les règles de délai d'expiration de script sur le serveur afin qu'il n'abandonne pas la moitié du temps d'un téléchargement. Le téléchargement HTTP ne sera jamais optimal pour des fichiers de l’ordre de 100 Mo, mais vous pouvez certainement améliorer la non-réponse par défaut des navigateurs par défaut ici.

Autres conseils

Télécharger vers où?

Vous pouvez demander à tout le monde d'installer Dropbox et de créer un partage à partir d'un compte professionnel auquel ils ont tous accès. / p>

Si vous ne souhaitez pas que les utilisateurs soient obligés de fournir un nom d'utilisateur et un mot de passe, pensez aux stratégies de connexion unique.

Si l'utilisateur doit télécharger un fichier volumineux, recherchez une sorte de fonctionnalité de reprise.

FTP est-il la seule option? Si vous pouvez implémenter quelque chose de base sur P2P (bittorrent), vous pouvez obtenir une fonctionnalité de reprise et d’intégrité pour les fichiers volumineux.

Voici 2 comme je viens de googler la bibliothèque bittorent

http://sourceforge.net/projects/libbt/

http://www.codeproject.com/KB/cpp/FTKernelAPI.aspx

Bien que vous ne soyez pas FTP, vous pouvez essayer d’utiliser swfupload pour télécharger des fichiers via HTTP. Nous l'utilisons pendant env. Le fichier 100 Mo est téléchargé sur IIS et cela fonctionne assez bien.

Notez que vous devez définir la taille maximale de la requête dans web.config sur 100 Mo ou plus ...

Le téléchargement de fichiers de 100 Mo n’est pas plus complexe que celui de fichiers de 1 ko. Vous devez simplement vous assurer que le récepteur (dans ce cas le serveur) n'essaye pas de recevoir le fichier entier en mémoire. Le serveur pourrait écrire les données immédiatement sur le disque ou dans une base de données CLOB. Le serveur lit dans le flux d'entrée et écrit dans le flux de sortie, avec très peu de ressources nécessaires.

merci les gars, je dois dire que c’est la réponse la plus complète que j’ai jamais eue dans un forum.

Pense que je vais suggérer 2 itinéraires comme mentionné par Bobince

1) http en utilisant SWFUpload (bh213), je l’avais déjà utilisé auparavant. Il est assez facile à installer et offre une bonne expérience utilisateur

2) proposez ensuite une option ftp. Soit en utilisant un navigateur ou quelque chose comme Filezilla.

Pourquoi ne pas créer une application Adobe Air simple avec JS et HTML? Je pense qu’elle dispose désormais d’une fonction de socket FTP. Vous pouvez également utiliser la base de données de construction pour stocker les détails de ce qui est envoyé, une petite empreinte, une plate-forme croisée et la construire dans ce que vous ressentez le mieux (flash, flex, JS / HTML).

J'ai des exigences similaires et je cherche à utiliser Adobe air et jQuery ou Ext pour la solution.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top