-
wrote on 6 Jan 2020, 15:29 last edited by PAD49
Bonjour j'ai un soucis lorsque je veux télécharger une image depuis un serveur sur un appareil android. L'image ne se télécharge pas du tout. Le même code fonction sur windows et non sur android.
J'utilise QNetworkAccessMAnager et QNetworkReply pour télécharge le fichier depuis une url.Merci de vos réponse.
-
Bonjour,
Vous devriez montrer le code que vous utiliser. La première chose qui vient en tête est que vous essayer de stocker le fichier à un endroit qui est en lecture seule.
-
wrote on 6 Jan 2020, 15:50 last edited by VRonin 1 Jul 2020, 13:23
QNetworkAccessManager managerPM; QNetworkReply *replyFirm; replyFirm = managerPM.get(QNetworkRequest(QUrl("https://www.google.com/imgres?imgurl=https%3A%2F%2Fstatic.neris-assets.com%2Fimages%2Ftest-header-3.svg&imgrefurl=https%3A%2F%2Fwww.16personalities.com%2Ffr%2Ftest-de-personnalite&docid=b2EKdwgohwnrNM&tbnid=LLSqc5L4G3MOTM%3A&vet=10ahUKEwjUpeSFmu_mAhWHXsAKHYnoBwUQMwhPKAAwAA..i&w=800&h=800&itg=1&bih=953&biw=1280&q=image%20test&ved=0ahUKEwjUpeSFmu_mAhWHXsAKHYnoBwUQMwhPKAAwAA&iact=mrc&uact=8"))); QEventLoop eventLoop; QObject::connect(replyFirm, SIGNAL(finished()), &eventLoop, SLOT(quit())); eventLoop.exec(); QString path = "/sdcard/Download/sojadis_wallpaper_tablette1.png"; QFile filemanquant(path); if ( filemanquant.open(QIODevice::ReadWrite) ) { QMessageBox mess; mess.setText(path); mess.exec(); filemanquant.write(replyFirm->readAll()); filemanquant.close(); }
-
wrote on 6 Jan 2020, 16:01 last edited by
L'url n'est pas celle que j'utiliserais dans mon code c'est juste un exemple.
-
Il vaut mieux utiliser QStandardPaths pour obtenir le chemin adéquat pour le stockage des fichiers.
Il n'est pas certain que le chemin que vous avez codé en dur existe et ni qu'il soit accessible par votre application.
-
wrote on 16 Jan 2020, 15:35 last edited by
J'ai bien testé les histoires d'emplacement de fichier, il n'y a aucun soucis de se coté la.
Par contre j'ai remarquée que lorsque j'utilisais une requête autres que "https" je récupères bien le fichier voulu. -
J'ai bien testé les histoires d'emplacement de fichier, il n'y a aucun soucis de se coté la.
Par contre j'ai remarquée que lorsque j'utilisais une requête autres que "https" je récupères bien le fichier voulu.wrote on 16 Jan 2020, 15:53 last edited by@PAD49 Bonjour, pour des raisons de licence, les libraires OpenSSL ne sont pas fournis avec les binaires Android.
Pour ajouter les libraries OpenSSL, il faut suivre la procédure décrite ici ==> https://doc.qt.io/qt-5/android-openssl-support.html -
Juste une petite précision, ce n'est pas une question de license mais de restrictions de distribution dans certain pays par rapport à l'usage de la cryptographie. C'est au développeur de faire les démarches nécessaires.
-
wrote on 17 Jan 2020, 14:49 last edited by
Je vous remercie, j'ai ajouter les libs ssl nécessaires et cela fonctionne correctement.