Bonjour, je cherche désespérément à enregistrer une image sur le serveur web depuis une url en JavaScript.
Merci d'avance.
Bonjour, je cherche désespérément à enregistrer une image sur le serveur web depuis une url en JavaScript.
Merci d'avance.
Hello,
JavaScript ne peut rien faire au serveur. Et donc notamment pas mettre une image dessus.
Tu dois d'abord créer un service AJAX sur le site web de ton serveur, qui peut être appelé pour récupérer une image et l'enregistrer. Cette partie étant sur le serveur, elle n'est pas en JavaScript. Puis tu dois appeler ce service avec AJAX.
Dans wordpress, le thème (et donc le fichier functions.php) sert plutôt pour l'affichage du site. Pour les traitements, il vaut mieux créer une extension.
thelvin a répondu à votre question
si vous avez besoin de plus d'aide, expliquez nous tous les détails, c'est à dire :
1 : le code que vous avez essayé même s'il ne fonctionne pas comme vous voulez
2 : le résultat actuel du code
3 : le résultat que vous souhaitez obtenir
Oui désolé.
Voilà mon code actuel, mon problème est que j'utilise l'api de imdb pour récupérer l'image des acteurs et réalisateurs et la ou ça coince c'est que si l'image n'a pas était chargé sur leurs site avant par le client, l'image ne s'affiche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 function UploadImage(url) { $.ajax({ url: '/wp-admin/upload.php?id=20', type: 'POST', processData: false, // important contentType: false, // important dataType: 'jpg', data: url, success: function(data){ } }); } function SetPerso(data) { data.pop(); for(var i=0;i < data.length;i++) { var acteur = data[i].replace(/ /g, "+"); console.log(acteur); jQuery.ajax({ url: "http://imdb.wemakesites.net/api/search", data: "q=" + acteur, crossDomain: true, dataType: "jsonp" }).done(function (repons) { var ActorID = repons['data']['results']['names']; for(var i=0;i < data.length;i++) { for (var i2 = 0; i2 < ActorID.length; i2++) { if (ActorID[i2]['title'] == data[i]) { console.log(ActorID[i2]['title'] + ' find'); var img = ActorID[i2]['thumbnail'].slice(0, -30)+'@._V1_UY317_CR1,0,214,317_AL_.jpg'; UploadImage(img); jQuery('.Wikip').append('<div class="col-md-2 wiki"><div class="img round" style="background-image: url('+img+');";></div><p>'+data[i]+'<p> </div>'); } } } }); } }
Je reçois un 403 (Forbidden).
Avant j'avais fait tout ça en php (j'ai changé pour la rapidité d'affichage) et j'avais eu le même problème et je l'avais réglé en enregistrant l'image sur le serveur et ça fonctionné.
Je cherche donc une solution de résoudre ce problème en sachant que tout commence dans le javascript et que c'est aussi la que l'on reçois l'url de l'image.
Je pense avoir donné pas mal de détails.
Merci d'avance.
dans la fonction UploadImage, vous devriez éviter d'accéder directement aux fichiers de WordPress et utiliser le système AJAX de WordPress comme ça :
https://codex.wordpress.org/AJAX_in_Plugins
Partager