2012-04-15 3 views
1

Comment puis-je obtenir l'image en fichier html, où vous écrivez aussi une description à ce sujet et l'afficher sur le serveur web? Utiliser ce code pour obtenir une action depuis Partager dans la galerie. Le code d'intention a également été obtenu dans le fichier manifest.xmlAndroid post image en utilisant l'intention et html avec phonegap

Intent intent = getIntent(); 
    if(intent.getAction().equals(Intent.ACTION_SEND)) 
    { 
     Uri data = intent.getParcelableExtra(Intent.EXTRA_STREAM); 
     if (data != null) { 
     data.toString();    
     super.loadUrl("file:///android_asset/www/i2.html#" + data); 
     } 
    } 

Qui charge l'URL et les données est le chemin de l'image. Mais JS ne permet pas de mettre valeur à input type = "file" donc j'ai besoin d'une autre façon de le faire. Aucune suggestion?

Répondre

0

Bon, quelques problèmes ici.

  1. Vous ne pouvez pas pré-remplir la valeur du fichier de type d'entrée. Pourquoi? Que se passe-t-il si quelqu'un a créé une entrée de fichier cachée, l'a pré-rempli avec ~/mypasswords.txt et l'a téléchargé sans que vous le sachiez? C'est un risque de sécurité évident et aucun navigateur respectable, à mi-chemin, ne le permettrait. Si les données sont l'url de l'image, alors dans votre code source html, vous pouvez écrire un javascript qui va analyser l'URL du document afin d'obtenir l'URL et créer/définir l'attribut src d'un élément img pour afficher le image. Si vous souhaitez télécharger l'image sur un serveur ailleurs sur l'Internet (réel) (par exemple, pas sur les ressources locales mais sur un serveur live), vous devrez créer une entrée cliquable du fichier de type et demandez à l'utilisateur de sélectionner lui-même l'image. Faites-vous un service aux utilisateurs en enregistrant votre fichier image dans un emplacement facilement accessible tel que la racine de la carte SD ou même leur dossier images/images ou téléchargements, puis demandez-leur de télécharger l'image correcte - vous avez le chemin complet dans la variable de données, donc affichez simplement cela et demandez à l'utilisateur de sélectionner ce fichier.

  2. Comme vous le savez, vous ne pouvez pas télécharger des fichiers AJAX via AJAX post, vous devrez faire une véritable soumission html. Vous pouvez rendre ceci plus propre (pour vos utilisateurs) en utilisant form.submit() pour vos éléments d'image, mais la complexité du code semble plus que ce qui est utile puisque vous (apparemment) avez seulement 1 image que vous téléchargez.

Questions connexes