2012-09-02 7 views
2

Je souhaite télécharger un fichier image (image jpeg) dans le système de fichiers utilisateur lorsque l'utilisateur sélectionne une photo et clique sur un bouton. Jusqu'à présent, j'ai cherché et trouvé this link et aussi thisComment enregistrer une image via JavaScript

J'ai vu dans un blog que downloadify lorsqu'il est utilisé avec jszip peut activer cette fonctionnalité, mais il n'a pas précisé plus loin. Est-ce que quelqu'un sait comment télécharger les images. J'ai les liens vers les images et je veux juste que l'utilisateur le télécharge sur son système plutôt que d'interroger à nouveau le serveur.

Quelqu'un peut-il me donner un exemple s'il vous plaît.

+1

[Qu'avez-vous essayé?] (Http://mattgemmell.com/2008/12/08/what-have-you-tried/) Et [ici] (http://pixelgraphics.us/ downloadify/test.html) est un exemple. – Peter

+0

ouais j'ai déjà vu que ... j'ai mentionné clairement dans ma question que c'est pour le fichier image non fichier texte – Nav

+0

J'ai essayé jszip mais je ne pouvais pas l'obtenir dans le bon format ... j'ai fourni le lien dans la question – Nav

Répondre

1

Enfin, je l'ai fait. Pour tous ceux qui peuvent avoir besoin à l'avenir voici comment je l'ai fait en utilisant jquery

jQuery.ajax({ 

    url: 'http://localhost:8080/yourwebsite/servlet?img=' + document.getElementById(id).alt, 
    //data: myData, 
    type: 'GET', 
    crossDomain: true, 
    dataType: 'jsonp', 
    // success: function() { alert("Success"); }, 
    // error: function() { alert('Failed!'); }, 
    // beforeSend: setHeader 
}); 

ce que je devais faire venir à travers le problème du domaine de la Croix-requêtes http qui sont généralement bloqués par la plupart des sites Web, sauf si vous suivez quelques longues processus. Donc, je l'ai simplifié et j'ai appelé une méthode get dans mon servlet et je lui ai transmis l'url de l'image à partir de laquelle il a téléchargé l'image. C'est beaucoup plus facile à faire et même plus facile si vous êtes sur le même domaine. ne répond pas à mes exigences et ce code a fonctionné pour moi :)

+0

Votre code fonctionnera-t-il dans mon [condition] (http://stackoverflow.com/questions/27555791/how-to-export-all-images-that-got-retrieve-from-html-dom-parser?noredirect=1#comment43537948_27555791)? –

3

Vous pouvez charger l'image dans un élément de canevas récupérer l'URL de données du canevas et ouvrir une nouvelle fenêtre avec l'URL de données comme source. Jetez un oeil à cet exemple: https://gist.github.com/1875132

+0

je vous remercie pour le commentaire .. je vais l'essayer :) ... par la façon dont j'utilise une balise img normale ce code fonctionnera-t-il pour img tag ou est-ce un travail ony pour tag de toile? – Nav

+0

Le problème est que vous ne pouvez pas obtenir l'URL de données pour une balise d'image. C'est comme ça que vous devez d'abord le convertir en toile. –

+0

pouvez vous plz expliquer ce que url de données est ... Je suis un peu noob à ce genre de choses :(En fait, je fais un site Web qui est intégré avec facebook et facebook me passe le lien vers l'image (jpeg) en utilisant graph api.The code de récupération d'image est ici dans ce lien http://stackoverflow.com/questions/12234853/how-to-get-large-pictures-from-photo-album-via-facebook-graph-api – Nav

2

Utilisez l'attribut HTML5 download.

En tant que choix, vous pouvez définir comme comme valeur d'attribut.

<a href="/images/image-name.jpg" download="new-image-name.jpg"> 
Questions connexes