ouvrir un fichier retourné via un script php

ouvrir un fichier retourné via un script php - Java - Programmation

Marsh Posté le 21-05-2006 à 23:31:53    

Bonjour,
 
j'essai de recupérer un fichier via une url .php. D'habitude j'utilise le code suivant avec des urls type : http://www.monsite.com/data/monFichier.zip" et cela fonctionne tres bien :

Code :
  1. URL u = new URL("urlDeMonFichier" );
  2. URLConnection uc = u.openConnection( );
  3. int fileLenght = uc.getContentLength( );
  4. if (fileLenght == -1 )
  5. throw new IOException("Invalid File" );
  6. [...]//suite du programme


 
Avec une url type "http://www.monsite.com/findFic.php?fic=monFichier.zip" l 'IOException est lancée ... La même url dans un browser me retourne bien le fichier ...
 
L une de mes idées est que le script n'est pas excuté par le serveur lorsque l on fait appel a la methode openConnection ... Sinon j avoue tourner en rond si vous aviez quelques idées ^^
 
Merci

Reply

Marsh Posté le 21-05-2006 à 23:31:53   

Reply

Marsh Posté le 21-05-2006 à 23:37:14    

peut etre parce que le script php ne renvoit pas de content length ? [:dawa]

Reply

Marsh Posté le 21-05-2006 à 23:56:28    

Bien le script retourne bien le fichier zip en question lorsque l'on utilise un browser classique (et le fichier n'est pas vide hein :) )... donc contentLength devrait correspondre à la taille de mon fichier ^^ et effectivement fileLength vaut -1 mais je ne comprends pas pourquoi ni comment changer cela

Reply

Marsh Posté le 22-05-2006 à 00:49:43    

Essaie de coder quelque chose qui analyse l'url avec le .php et qui extrait le nom du fichier, et ensuite va le chercher là où sont stockés habituellement les fichiers.


---------------
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
Reply

Marsh Posté le 22-05-2006 à 01:03:24    

lanfeust_23 a écrit :

donc contentLength devrait correspondre à la taille de mon fichier ^^


NON
je repete, ton script ne balance pas le content length dans les headers http, il envoie bien le fichier, mais pas le content length, java peut pas le deviner [:itm]

Reply

Marsh Posté le 22-05-2006 à 01:06:48    

Salut,
je crois que tu px forcer ton .php à retourner la valeur du content-length en utilisant la méthode header() (et autre chose mais je sais plus quoi);
 
De plus, avant de tester uc.getContentLength(), à ta place, je récupérerais le flux et l'afficherais, si ça se trouve ton fichier est bien prêt à télécharger et tu ne le sais m pas.
 
'nuit  :hello:


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Marsh Posté le 22-05-2006 à 01:07:05    

je vais appronfondir tout ca demain en tout cas merci a vous :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed