Partage
  • Partager sur Facebook
  • Partager sur Twitter

Faire télécharger un fichier APK

Anonyme
    5 février 2017 à 16:53:56

    Bonjour,

    J'utilise mon espace free.fr pour faire du stockage public de fichiers en ligne.

    Récemment, j'ai uploadé un fichier APK et surprise : impossible de le télécharger. Firefox indique " D:\tmp\6o654Nqi.apk.part could not be saved, because the source file could not be read ". Ensuite, le téléchargement est indiqué comme étant un échec.

    Le problème survient :

    • Sur le serveur de production ;
    • Pour un fichier APK ;
    • Pour un fichier APK dans une archive ZIP ;
    • Pour un fichier APK dans un dossier dans une archive ZIP ;
    • Pour un fichier APK parmi d'autres fichiers dans une archive ZIP ;

    Il ne survient pas :

    • Sur le serveur de développement ;
    • Pour une archive ZIP ne contenant pas de fichier APK ;
    • Pour un fichier DOC, PDF, TXT, HTML, JS, ...

    Les fichiers téléchargés le sont pas une page spéciale appelée down.php :

    <?php
    
    $requestedPath = captain_formatage($_GET['path']);
    
    header('Content-Description:' . 'File Transfer');
    header('Content-Length:' . filesize($requestedPath));
    
    if (pathinfo($requestedPath, PATHINFO_EXTENSION) == 'apk') {
       header('Content-Type:' . 'application/vnd.android.package-archive');
       header("Content-Transfer-Encoding:Binary");
       header('Content-Disposition:' . 'attachment;filename=' . basename($requestedPath));
    } else {
       header('Content-Type:' . mime_content_type($requestedPath));
       header('Content-Disposition:' . 'filename=' . basename($requestedPath));
    }
    
    ob_end_flush();
    ob_clean();
    flush();
    
    readfile($requestedPath);
    exit;
    

    J'ai vu plusieurs sujet StackOverflow et j'ai essayé un peu toutes les combinaisons de headers. Comme rien n'a fonctionné, je me tourne vers vous pour obtenir de nouvelles pistes.

    Au plaisir de vous lire. Cordialement, Novax.

    EDIt : J'ai fait le différentiel des headers des réponses HTTP. Même en appliquant ceux du serveur de dev' sur le serveur de prod', il y a toujours une erreur.

    -
    Edité par Anonyme 5 février 2017 à 17:07:47

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
    Anonyme
      25 février 2017 à 0:21:52

      Je remonte encore.

      Est-ce qu'il manque des infos ? Est-ce que le sujet est dans le bon forum ?

      • Partager sur Facebook
      • Partager sur Twitter
        25 février 2017 à 14:18:37

        Bonjour,

        A tester:

        <?php
        $requestedPath = captain_formatage($_GET['path']);
        /* je supose que la variable $requestedPath contient le nom complet du fichier xxxx.apk */
        header('Content-Description:' . 'File Transfer');
        header('Content-Length:' . filesize($requestedPath));
        
        if (pathinfo($requestedPath, PATHINFO_EXTENSION) == 'apk')
        {
        	header('Content-Disposition: attachment; filename='.$requestedPath);
        	/* on force le téléchargement */
        	header('Content-Type:' . 'application/force-download');
        	/* header("Content-Transfer-Encoding:Binary"); */
        	readfile($requestedPath);
        }
        else
        {
           /* header('Content-Type:' . mime_content_type($requestedPath));
           header('Content-Disposition:' . 'filename=' . basename($requestedPath));
           */
        	exit;
        }
        ?>





        • Partager sur Facebook
        • Partager sur Twitter
        Merci de signaler votre sujet résolu, cela nous évite des pages de lecture inutile pour arriver au bout de 15 réponses sur la dernière qui dit "merci problème résolut!"
        Anonyme
          26 février 2017 à 15:08:49

          En fait, il y a une alerte, mais si je focus la fenêtre de téléchargement, je peux quand même ordonner la sauvegarde. Le fichier téléchargé fait la bonne taille.

          force-download ne semble pas avoir changé grand chose.

          D'autre part, même en ignorant l'alerte, l'installation sur un téléphone ne passe pas...

          -
          Edité par Anonyme 26 février 2017 à 15:15:19

          • Partager sur Facebook
          • Partager sur Twitter
            26 février 2017 à 16:17:06

            re,

            As tu bien autorisé l'installation de fichier depuis des sources non sure avant sur le smartphone?

            • Partager sur Facebook
            • Partager sur Twitter
            Merci de signaler votre sujet résolu, cela nous évite des pages de lecture inutile pour arriver au bout de 15 réponses sur la dernière qui dit "merci problème résolut!"
            Anonyme
              14 mai 2017 à 13:36:50

              ts,liuqghligdgnvghtrrgf

              -
              Edité par RoMgfsqdff 14 mai 2017 à 14:11:56

              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                14 mai 2017 à 16:14:34

                'Tin mais c'est carrément ça ! Comment ça a pu m'échapper !?

                • Partager sur Facebook
                • Partager sur Twitter

                Faire télécharger un fichier APK

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown