benji2000
Messages postés78Date d'inscriptionsamedi 26 août 2006StatutMembreDernière intervention25 novembre 2016
-
25 nov. 2016 à 15:03
nagaD.scar
Messages postés4272Date d'inscriptionsamedi 8 septembre 2007StatutMembreDernière intervention 4 janvier 2023
-
28 nov. 2016 à 09:39
Bonjour,
Je souhaite uploader des fichiers sur un site internet via ftp, jusque là rien de bien méchant.
Le problème, c'est qu'ils sont gros et que je n'ai pas forcément envie d'attendre la fin d'un envoie pour pouvoir fermer mon application.
Du coup je voulais savoir s'il était possible d'envoyer une partie d'un fichier et le reste plus tard ? Bien évidemment le fichier en question ne serait pas modifié.
J'ai pensé à découpé mon fichier avant l'envoie et de faire une succession de fichier de taille moyenne qui se numéroterais fichier 1, 2, 3 ... et de les télécharger en les ré-emboîtant, mais j'ai l'impression de faire compliqué.
Le ftp est un protocole standard, tout ce qu il te permet de faire faire concerne strictement la structure des répertoires, et de l envoie/réception.
Dans ton cas, tu as en fait besoin d'avoir d un côté des envois de données, et aussi un système de découpe de fichier (et bien sûr les reconstituer). Ce que je veux dire c'est:
Sur le poste client, l'envoie d'un fichier se fera en 2 étapes:
- Découpe du fichier qui ne devra pas être interrompu (dans un premier temps, tu pourra ensuite gérer cette partie pour les mises en pause)
- Envoi de chaque parties + donner l information au serveur concernant la reconstitution (nom du fichier, nombre de parties avec le nom [ou un système qui saura les identifier] au minimum). Cette information pourrai être un simple xml lui aussi uploadé (en premier), son rôle étant principalement de connaitre côté serveur quand "recoller" ton fichier.
et sur le server, tu aura quelque chose (un service par exemple), qui scrutera les répertoires ftp pour effectuer les reconstitutions.
C'est grossier et ce n est qu un exemple de ce que tu pourrai faire, mais le point important à noter est que ton projet se divise en deux parties distinctes: d'un coté du protocole ftp, d'un autre un protocole de split/unsplit.
naga
PS: perso je serai plutot tenté pour faire un serveur socket pour ton projet