Manière correcte de chargement de l'image dans UIWebView de NSData objet
J'ai téléchargé une image gif dans un NSData objet (j'ai vérifié le contenu de la NSData objet et c'est certainement peuplé). Maintenant je veux charger l'image dans mon UIWebView. J'ai essayé ce qui suit:
[webView loadData:imageData MIMEType:@"image/gif" textEncodingName:nil baseURL:nil];
mais je reçois un vide UIWebView. Le chargement de l'image à partir de la même adresse directement fonctionne très bien:
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:imageUrl]];
[imageView loadRequest:request];
Dois-je créer la textEncodingName à quelque chose, ou suis-je en train de faire quelque chose de mal?
Je veux charger l'image manuellement, afin que je puisse faire rapport des progrès accomplis à l'utilisateur, mais c'est un gif animé, donc quand c'est fait, je veux l'afficher dans une UIWebView.
Edit: j'ai peut-être besoin de mettre mon image dans le HTML en quelque sorte? Est-il un moyen de le faire sans avoir à l'enregistrer sur le disque?
Salut, avez-vous trouvé la réponse à votre problème?
OriginalL'auteur rustyshelf | 2010-05-13
Vous devez vous connecter pour publier un commentaire.
J'ai testé le code avec PNG ("image/png"), JPG ("image/jpeg") et de GIF ("image/gif"), et il fonctionne comme prévu:
Maintenant, quel est le problème avec votre application?
OriginalL'auteur Costique
Je n'ai pas vraiment essayer de charger l'image à UIWebView, mais une recherche google me donne. Je pense que votre image de chaîne doit avoir un bon chemin et ressemble à une URL
Vous pouvez voir plus de détails ici : Chargement de fichiers locaux à UIWebView
oh désolé, je croyais que vous vouliez enregistrer localement. C'était de ma faute.:(
Belle réponse ....
OriginalL'auteur vodkhang
OriginalL'auteur pratap shaik
Vous pouvez charger urlImage dans webview qui n'est pas enregistré localement comme indiqué ci-dessous code
OriginalL'auteur Madan Mohan
J'ai eu le même problème et j'ai trouvé un autre endroit que vous devez fournir une valeur dans la
baseUR
L paramètre. J'ai également eu encodage:Quand j'ai eu
nil
dans lebaseURL
paramètre qu'il ne serait pas charge. En mettant quelque chose qui est fondamentalement pas pertinent dans le MS docs tous travaillé.OriginalL'auteur Brian W
Vous pouvez essayer de l'affectation d'un délégué à la webview et la mise en œuvre de la méthode:
Pour voir plus précisément ce que l'erreur que vous obtenez. Si elle n'est pas appelée, de mettre en œuvre la méthode:
ainsi, juste pour s'assurer que quelque chose qui se passe, sinon il pourrait y avoir un problème avec
UIWebView
(en supposant que vous n'avez pas retournéNO
dewebView:shouldStartLoadWithRequest:navigationType:
)Si vous voulez essayer l'enveloppant dans du HTML, vous pouvez toujours utiliser des données: URL, ce qui en base-64-encode les images (ou quoi que ce soit, vraiment) que les données dans le document HTML. Voir en.wikipedia.org/wiki/Data_URI_scheme#HTML pour un exemple.
OriginalL'auteur Ed Marty
De s'étendre sur les Ed Marty commentaire:
Le code HTML de commande à mettre dans une base de 64 image est:
J'ai une catégorie (je ne sais pas d'où il vient, pas moi...) disponibles sur mon site web qui convertit NSData elle est Base64 représentation sous forme de chaîne.
L'en-tête
La mise en œuvre
Assez facile à faire, en supposant que "données images" est le NSData variable contenant votre image:
[données images base64Encoding] dans l'au-dessus de la chaîne.
OriginalL'auteur Carl
essayer ce code
OriginalL'auteur Chandaboy
Voici une autre méthode:
Enregistrer l'image que vous avez téléchargé dans votre dossier documents.
Puis obtenir que l'image de l'url. Ensuite, écrire un fichier html simple
l'aide que l'url de l'image dans l'IMG SRC de la balise.
OriginalL'auteur GeneCode
OriginalL'auteur Chirag Dj