1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

Mobile prendre une photo et la stocker sur un serveur

Discussion dans 'Windev Mobile' créé par sergeb, Juin 16, 2019.

  1. sergeb

    sergeb Active Member

    Inscrit:
    Mar 11, 2019
    Messages:
    122
    J'aime reçus:
    26
    Bonjour,
    J'aimerai avoir l'avis experts car je souhaite depuis un smartphone prendre une photo et ensuite qu'elle soit stockée sur un serveur.
    Quelle serait-selon vous la meilleur façon de procéder ?

    J'imaginais prendre une photo depuis le smartphone, envoyer la photo sur un serveur (via FTP ?) et que la BDD stocke uniquement le lien de la photo.
    Qu'en pensez-vous ? Sinon quelles seraient vos idées sur le sujet si vous avez déjà réaliser cela ?

    Merci pour votre retour.
     
    Tags:
  2. khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    Salut
    actuellement nous avons deux appli qui envoie des photo prise de téléphone.
    la vversion simple via ftp, on renomme les fichier avec des infos qui permette de les retrouver via une recherche par nom ( limite si beaucoup de photos devient vite très lent)
    la deuxième envoie le photos via ftp, et après j'envoie le nom de la photo via web service, qui traite celle ci (déplace dans un autre répertoire, et index dans un fichier hf)
    apres je suis ouvert a d'autre idée.
     
  3. arhpeal

    arhpeal New Member

    Inscrit:
    Mar 7, 2019
    Messages:
    3
    J'aime reçus:
    1
    Salut je me permet de vous conseiller de passer par un webservice très simple ,j'utilise un ws rest de quelques lignes de code côté serveur, côté Android une simple httprequete avec en contenu un json qui contien les infos utiles pour l'image et l'image elle même encodée en base64 pour éviter les conflicts d'encodage du json.

    Voila
     
    Gemini1961 apprécie ceci.
  4. LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    648
    J'aime reçus:
    227

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Salut je me permet de vous conseiller de passer par un webservice très simple ,j'utilise un ws rest de quelques lignes de code côté serveur, côté Android une simple httprequete avec en contenu un json qui contien les infos utiles pour l'image et l'image elle même encodée en base64 pour éviter les conflicts d'encodage du json.

    Voila
    Cliquez pour agrandir...
    Bonsoir

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,
    comment tu encode pour envoyer au Webservice ?
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonsoir

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,
    comment tu encode pour envoyer au Webservice ?
    Cliquez pour agrandir...

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!




    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     

    Fichiers attachés:

    Gemini1961 et suenodesign aiment ça.
  • LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    648
    J'aime reçus:
    227

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!




    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Cliquez pour agrandir...
    J'ai jamais essayer comme ça
     
  • LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    648
    J'aime reçus:
    227
    Gemini1961 et popoy aiment ça.
  • sergeb

    sergeb Active Member

    Inscrit:
    Mar 11, 2019
    Messages:
    122
    J'aime reçus:
    26
    Bonjour,
    Merci pour vos retours,

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , cela me semble pas mal. Ton code permet d'encoder l'image. As-tu un bout de code côté serveur en PHP à me fournir ?

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , j'ai regardé le code du blog que tu as fournit mais ils utilisent webdev pour récupére l'image sur le serveur WEB. Ce qui n'est pas mon cas (mon site est en PHP). Je vais tenter de trouver un morceau de code php pour tester tout cela. Perso, tu faisais comment toi ?

    Dès que je trouve qqchose de propre et qui fonctionne, comme d'hab, je le poste ici.

    Merci les gars.
     
  • sergeb

    sergeb Active Member

    Inscrit:
    Mar 11, 2019
    Messages:
    122
    J'aime reçus:
    26
    Bon j'ai fait un nouveau projet en intégrant le code mentionné dans le blog sous IOS mais à la sortie, le buffer est vide. Il y a un truc qui colle pas...je vais chercher pourquoi.
     
  • Kobex

    Kobex Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    373
    J'aime reçus:
    257
    Bonjour,

    Personnellement, comme beaucoup de choses or norme, j'ai fait sans webdev , windev (je me demande finalement pourquoi j'insiste avec les produits PCSoft au vue du nombre de projet recodé dans d'autre langages…)
    Ce que j'ai fait, créer via html 5, css et une bonne couche de JS, mon aplis encapsulé dans une webview prend une photo, la stocke sur le téléphone et en parallèle l'envoi sur un object storage distribué.

    Bon courage avec windev :p
     
  • khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Cliquez pour agrandir...
    Globalement c'est la même méthode sauf qu'au lieu de transférer la photo via un service, tu transfert a une page web.

    le tout est d'encoder l'image en base64.

    j'avais essayer aussi via socket.

    j'aime bien via ftp car les jauge se gère bien. et après via webservice j'envoi un hash pour verifier que pas de perte de donnée plus indexation.
     
  • sergeb

    sergeb Active Member

    Inscrit:
    Mar 11, 2019
    Messages:
    122
    J'aime reçus:
    26
    Bonjour à tous.
    Bon après avoir passé une nuit blanche pour trouver le moyen d'envoyer une photo depuis mon Iphone vers mon serveur Web PHP, j'ai trouvé la solution.
    Je passe par un formulaire d'envoi et cela fonctionne super bien (j'ai utilisé du code trouvé par ici, par là sur le WEB).

    Ci dessous le code si qq'un en aurait besoin :

    Voici le code (windev mobile) :
    // Prise d'une photo
    VidéoParamètre(vipRotationAuto,Vrai)
    sPhoto est une chaîne = VidéoLanceAppli(viCaptureImage)
    // on récupère le nom du fichier à envoyer
    sNomFichier est une chaîne = fExtraitChemin(sPhoto,fFichier+fExtension+fRépertoire)
    // on créer le formulaire à envoyer
    HTTPCréeFormulaire("FORM")
    HTTPAjouteFichier("FORM", "photo", sNomFichier)
    SI HTTPEnvoieFormulaire("FORM", "ADRESSE_SERVEUR_WEB/photo.php") ALORS
    sRetour est une chaîne = UTF8VersAnsi(HTTPDonneRésultat(httpRésultat))
    Info(sRetour)
    FIN

    Voici le code PHP :
    <?php
    // on défini le répertoire d'upload
    $uploaddir = 'Adresse_WEB/images/';
    // on récupère le nom du fichier à envoyer
    $uploadfile = $uploaddir . basename($_FILES['photo']['name']);
    $ZnomFichier = basename($_FILES['photo']['name']);
    // on controle la taille du fichier
    if ($_FILES['photo']['size'] <= 90000000){ // réduite la taille selon le choix désiré
    $extension_upload = pathinfo($ZnomFichier, PATHINFO_EXTENSION); // On récupère l'extension du fichier
    $extensions_autorisees = array('jpg'); // on indique les types de fichiers autorisés soit JPG
    // on contrôle si le fichier envoyé est autrisé
    if (in_array($extension_upload, $extensions_autorisees)) {
    // on récupère la photo dans le répertoire WEB
    if (move_uploaded_file($_FILES['photo']['tmp_name'], $uploadfile)) {
    echo "Le fichier est valide, et a été téléchargé
    avec succès. Voici plus d'informations :\n";
    } else {
    echo "Attaque potentielle par téléchargement de fichiers.
    Voici plus d'informations :\n";
    }
    }
    }
    else
    {
    echo "Fichier trop gros";
    }
    echo 'Voici quelques informations de débogage :';
    print_r($_FILES);
    ?>

    Reste simplement à réduire la taille de la photo sous windev mobile, controler s'il y a du réseau, etc...

    Si quelqu'un à une meilleure idée, je suis intéressé.

    Bon dev à vous.
     
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,884
    J'aime reçus:
    1,532
    Super code

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,
    je rajoute juste que l'on peut paramétrer la taille des fichiers a uploader
    1 ère solution :
    dans .htaccess en indiquant le chemin du fichier PHP.ini
    suPHP_ConfigPath /home/protutsn/public_html/php.ini
    par exemple puis
    en modifiant
    le php.ini
    ligne exemple
    upload_max_filesize = 20M

    2 ème solution
    dans htaccess
    php_value upload_max_filesize 20M
    php_value post_max_size 20M
    php_value max_execution_time 240

    dans tous les cas il faut se renseigner après de l'hébergeur.
     
    NDev apprécie ceci.
  • sergeb

    sergeb Active Member

    Inscrit:
    Mar 11, 2019
    Messages:
    122
    J'aime reçus:
    26
    Salut Popoy,
    Pour la taille, je le contrôle dans le code PHP avec un code erreur de retour ce qui me permet depuis l'application de savoir quel est l'éventuel pb.

    De ton côté, comment tu procédais ?
     
  • sergeb

    sergeb Active Member

    Inscrit:
    Mar 11, 2019
    Messages:
    122
    J'aime reçus:
    26
    J'ajoute aussi que depuis windev mobile, je réduit la taille de l'image avant de l'envoyer.
    L'originale est de 3Mo et après réduction elle passe à 60ko pour une très bonne qualité, en tout cas qui me convient.
     
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,884
    J'aime reçus:
    1,532

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    J'ajoute aussi que depuis windev mobile, je réduit la taille de l'image avant de l'envoyer.
    L'originale est de 3Mo et après réduction elle passe à 60ko pour une très bonne qualité, en tout cas qui me convient.
    Cliquez pour agrandir...
    Je viens de relire ton code WM et.
    Je n'ai pas vu ton code de réduction de l'image.
    Peut tu me précisé la ligne qui le fait.
    Je ne suis pas assez bon en PHP pour vérifier ta partie serveur, je te fais donc confiance sur celles-ci.
    Voilà pourquoi j'ai fait mon rajout (c'était juste une information supplémentaire)
    Merci de ton retour.
     
  • sergeb

    sergeb Active Member

    Inscrit:
    Mar 11, 2019
    Messages:
    122
    J'aime reçus:
    26
    Oups, autant pour moi.
    C'est côté windev mobile que la photo est réduite avec ce code :dSauveImageJPEG(IMG_SansNom1,CheminImage,100).
    IMG_SansNom1 est un champs Image qui permet de visualiser ce qui a été pris en photo.

    Pour le contrôle sous PHP, c'est la ligne : if ($_FILES['photo']['size'] <= 90000000){ // réduite la taille selon le choix désiré
    Bien entendu, la valeur ici c'était pour le test car 900Go c'est trop.
     
    popoy apprécie ceci.
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,884
    J'aime reçus:
    1,532
    c'est en effet plus clair,
    ça m'étonnerait qu'un hébergeur accepte 900 go , qu'elle serait la valeur pour 4mo
    4096? ou je me trompe !
     
  • sergeb

    sergeb Active Member

    Inscrit:
    Mar 11, 2019
    Messages:
    122
    J'aime reçus:
    26
    Je me suis trompé, c'est 90Mo et non 900Go.
    La valeur est en octet donc pour 4mo => 4000000
    4Mo pour une photo me parait énorme surtout si tu es en 3G !
     
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,884
    J'aime reçus:
    1,532

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Je me suis trompé, c'est 90Mo et non 900Go.
    La valeur est en octet donc pour 4mo => 4000000
    4Mo pour une photo me parait énorme surtout si tu es en 3G !
    Cliquez pour agrandir...
    merci de ta réponse
     
  • Partager cette page

    Chargement...