IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Objet Image to String


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 14
    Points : 3
    Points
    3
    Par défaut Objet Image to String
    Bonjour à tous!
    Je planche là-dessus depuis des heures... donc je me suis inscrit sur ce forum en espérant qu'une bonne âme puisse m'aiguiller ^^

    J'ai un objet image (javascript) créé en javascript.
    Si je clique droit et sauvegarde sous, j'ai bien accès au contenu (en enregistrant sous .txt), par contre, je n'arrive pas à accéder à ce contenu en texte directement en javascript.

    La méthode toString() ne semble pas marcher avec les objets image... ou je m'y prends mal.

    Toute technique est bonne à prendre, tant que je peux avoir accès au contenu (text) de l'image sans avoir à la sauvegarder sur ma bécane.

    J'ai pensé à uploader l'image sur mon serveur (via ajax) mais le souci c'est que je ne sais pas comment envoyer un objet javascript...

    Merci d'avance pour toute réponse constructive !!

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    objet image ?

    tu veux dire le data binaire de l'image ??

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    binaire, hexa... n'importe quoi mais exploitable

  4. #4
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    Effectivement, je pense qu'il n'y à pas de solution javascript.

    Tu n'as pas accès au data de l'image donc effectivement réclamer au serveur le binaire en lui passant l'url d'une image.

    Url qui s'obtient avec l'attribut .src de ton image :
    Mon_image.src

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    Oui mais voilà; je ne veux vraiment pas utiliser l'url de l'image, je veux vraiment utiliser l'image chargée par le navigateur. Pour des raisons techniques évidemment. Mon objectif n'est pas d'enregistrer un jpg ;-)

    Je me demandais s'il était possible d'injecter un objet image dans un input file, de valider le formulaire automatiquement (ajax, sans recharger la page) et de récupérer l'image via POST...

  6. #6
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    Citation Envoyé par dauhik Voir le message
    Oui mais voilà; je ne veux vraiment pas utiliser l'url de l'image, je veux vraiment utiliser l'image chargée par le navigateur. Pour des raisons techniques évidemment. Mon objectif n'est pas d'enregistrer un jpg ;-)

    Je me demandais s'il était possible d'injecter un objet image dans un input file, de valider le formulaire automatiquement (ajax, sans recharger la page) et de récupérer l'image via POST...
    Lorsque l'image est envoyé au serveur après validation du form via ajax, il suffit que ton serveur te renvoie le data de l'image plutot qu'un booléen ou une url.

    Où se situe ton problème exactement ?


    Edit: je n'avais jamais utilisé ajax pour valider un form avec fichier. Je viens de lire que ça n'existe pas. Ou plutot que ça se fait via iframe cachée.

    Mais le principe est le même, ton form dans ton iframe renvoie une page avec le data de ton image. Une fois cette page chargée, il te suffit de récupérer le data dans ton iframe.

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Points : 496
    Points
    496
    Par défaut
    Citation Envoyé par dauhik Voir le message
    Bonjour à tous!
    Je planche là-dessus depuis des heures... donc je me suis inscrit sur ce forum en espérant qu'une bonne âme puisse m'aiguiller ^^

    J'ai un objet image (javascript) créé en javascript.
    Si je clique droit et sauvegarde sous, j'ai bien accès au contenu (en enregistrant sous .txt), par contre, je n'arrive pas à accéder à ce contenu en texte directement en javascript.

    La méthode toString() ne semble pas marcher avec les objets image... ou je m'y prends mal.

    Toute technique est bonne à prendre, tant que je peux avoir accès au contenu (text) de l'image sans avoir à la sauvegarder sur ma bécane.

    J'ai pensé à uploader l'image sur mon serveur (via ajax) mais le souci c'est que je ne sais pas comment envoyer un objet javascript...

    Merci d'avance pour toute réponse constructive !!
    Tu veux faire quoi exactement ?
    Quel est ton intérêt à récupérer la data en version "String" de ton image ?
    La seule solution sera d'avoir ça sous la main en base64. Mais uploader une telle quantité d'informations, je crois que l'ajax est limité. Ensuite si c'est pour faire un "upload" façon ajax, tu as des outils assez bien foutus comme SWFupload.

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    a part mettre le base64 dans un textarea pour le passer au serveur, ma question est comment récupérer le base64 ... javascript seul ne te sera pas d'un grand secours.
    Sur des navigateurs modernes il y aurait une possibilité en passant par la balise canvas ...

  9. #9
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Oui, il est possible "d'injecter" du base64 dans le src d'une balise img, mais pas le récupérer...
    Ceci dit, j'ai du mal à voir l'intérêt
    Tu veux demander à tes utilisateurs d'ajouter eux-même le base64 dans un élément de formulaire ? (parce que dans un input file, n'en rêve même pas)

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    Merci pour vos réponses :-)

    J'avais vu la piste du base64... mais celle-ci ne permet que de créer une image à la volée (un peu comme on ferait en PHP) en "injectant" le data de l'image dans le src de l'image.

    Ma problématique est bien la suivante: avoir accès au data d'une image chargée côté client (url de l'image "cross domain").

    Ce que je cherche à faire avec ça, c'est un parser HTML Cross Domain côté client (chose qui n'existe pas actuellement, ou alors je n'ai pas bien cherché).

    Je suis en train d'étudier toutes les pistes parce que je suis confronté à un problème de taille: je dois absolument générer un <form> html dont la cible est sur un serveur ASP utilisant "__VIEWSTATE"; et le seul moyen que je pense avoir trouvé, c'est d'appeler une page sur ce serveur (côté client pour que la valeur du viewstate corresponde à l'IP de l'internaute), parser l'HTML pour récupérer la valeur de l'input "__VIEWSTATE" et le réinjecter dans mon petit formulaire HTML.

    Voilà, comme ça j'ai vraiment tout exposé, et bien entendu si quelqu'un a une autre idée que mon foutu <img src="url_serveur_asp"> (qui avec le clic droit > enregistrer sous .txt me permet réellement d'accéder au code HTML de la page)... je suis toute ouïe !!

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    Je ne pense pas que ce soit réalisable coté client.
    Il te faudrait pouvoir envoyer l'url de l'image au serveur mais le crossdomain risque de compliquer la chose.
    Une fois le serveur en possession de l'url tu pourras récupérer le contenu.

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    Côté serveur le souci; j'ai essayé un parsing de base avec curl, je récupère le viewstate (pas de problème de cross domain), mais quand j'utilise celui-ci dans le formulaire html et que je valide le formulaire, j'ai une belle erreur (due au viewstate).

    Si j'essaie de charger une page sur le serveur distant depuis mon navigateur, que j'affiche la source, récupère le viewstate et l'insère manuellement dans mon form html, le post fonctionne correctement.

    Je pense que le viewstate est configuré sur ce serveur pour comporter entre autres choses l'IP de la machine qui appelle la page. Donc je dois absolument réaliser le parsing depuis la machine de l'internaute et pas depuis mon serveur.

    Passer par du flash, un applet java est possible puisque je ne cherche pas à faire ça à l'insu de l'internaute, au contraire. Par contre je ne sais pas si c'est possible, et je ne sais pas développer d'applet ou de flash.

Discussions similaires

  1. superposer Image et String sur un JPanel
    Par L4BiN dans le forum AWT/Swing
    Réponses: 13
    Dernier message: 06/02/2007, 12h03
  2. Réponses: 5
    Dernier message: 16/10/2006, 20h58
  3. [c#] chargement d'une texture a partir d'un objet Image
    Par elguignardo dans le forum DirectX
    Réponses: 2
    Dernier message: 29/03/2006, 09h18
  4. Transformer un objet JS en String
    Par FremyCompany dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/03/2006, 14h42
  5. [VB6]Attribuer l'icone d'un fichier à un objet image
    Par Nostra_Damus dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 23/01/2006, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo