2017-10-17 20 views
-1

Je suis en train de télécharger une image d'un Samsung à un serveur FTP en utilisant l'Apache FTPClient. Mais cela ne semble pas fonctionner. Je ne sais pas pourquoi, le code est bon. J'essaie de choisir une image pour le télécharger sur le serveur, la variable selectedImage est le chemin complet du fichier image.Le téléchargement FTP ne fonctionne pas Android

FTPClient ftpClient = new FTPClient(); 
ftpClient.connect(InetAddress.getByName("ftpserver")); 
ftpClient.login("user", "password"); 
ftpClient.setFileType(FTP.BINARY_FILE_TYPE); 

FileInputStream buffIn = null; 
buffIn = new FileInputStream(new File(getRealPathFromURI(selectedImage))); 
ftpClient.enterLocalPassiveMode(); 
link = "http://ftpname/home/user/public_html/image/ayri.jpg"; 
ftpClient.storeFile(link, buffIn); 
buffIn.close(); 
ftpClient.logout(); 
ftpClient.disconnect(); 

Répondre

0

Donc, je me suis trouvé la réponse, pour ceux d'entre vous qui rencontre ce problème, d'abord pour POST ou TÉLÉCHARGEMENT fichiers, utilisez toujours Asynctask, sinon cela ne fonctionnera jamais. Et vérifiez simplement que dans votre application vous avez l'autorisation pour la gestion de fichiers, vous pouvez voir dans les paramètres -> Application -> Votre application -> Autorisation -> Stockage cocher oui. Et c'est tout.

Merci stackoverflow pour votre aide!

0

Le premier argument de FTPClient.storeFile est un chemin de fichier pour stocker les données téléchargées, et non pas une URL HTTP .

Ce chemin dépend de la configuration de votre serveur FTP.

Il peut être un chemin absolu comme:

link = "/home/user/public_html/image/ayri.jpg"; 

Ou si le compte est user chroot, il peut être:

link = "/public_html/image/ayri.jpg"; 

Ou quelque chose de complètement différent. Voir How to get HTTP URL of file uploaded to FTP server (un problème opposé, mais la réponse vous donnera une idée de toute façon).

(Dans tous les cas, de toute évidence le nom de la variable link est erroné, il devrait être path.)

+0

J'ai encore rencontré un problème, le fait est que l'application peut se connecter au serveur ftp mais ne peut rien y stocker. J'essaie de changer le chemin du fichier image mais ça ne marche pas, je suis complètement perdu –

+0

Pouvez-vous vous connecter au serveur avec un client FTP GUI, comme WinSCP? Quel chemin voyez-vous dans le panneau de fichiers, une fois connecté? –

+0

Oui, je peux, en fait j'utilise Filezilla. J'ai vraiment un gros problème avec POST et FILE avec Android, c'est juste ne peut pas travailler –