2017-08-27 4 views
1

Récemment, je suis devenu vraiment intéressé à faire de mon propre chat dans node.js. J'ai déjà fait beaucoup de choses (comme l'enregistrement et la connexion), mais je suis resté coincé à un problème: J'ai besoin d'afficher des avatars de personnes dans la liste d'amis, qui ressemblerait à ceci: test friend list
Ces cercles gris sont un img tags (ce sera l'image vide par défaut), et ils devraient être remplacés par des avatars. Cependant, je ne sais pas quelle est la bonne façon d'envoyer une image à un client à la demande. J'utilise socket.io pour communiquer et envoyer des JSON, mais je crois que vous ne pouvez pas envoyer d'images (ou de fichiers?) Via socket.io. Les seules informations que j'ai trouvées sur Internet concernaient le téléchargement de fichiers sur le serveur à l'aide de la requête AJAX, ce qui est utile mais ne me dit toujours pas comment demander une image à un serveur.Télécharger des avatars de personnes et les afficher dans node.js

var id = 0; 

function addFriendElement() { 
    $().add(
    '<div class="personTab" onclick="makeActive(this);">' + 
    '<div class ="smallAvatar"><img src="img/testAvatar.png" alt="No avatar?"></div>' + 
    '<div class ="nickname">' + id + '</div>' + 
    '</div>').appendTo("#friendList"); 
    id++; 
} 

Voici comment j'ajoute ces "onglets" que vous avez vu dans la capture d'écran. Je me demande si l'utilisation d'une balise img n'est pas correcte.
Merci d'avance!

Répondre

0

Vous n'avez pas besoin d'envoyer l'image du serveur au navigateur.

juste besoin de faire l'URL avatar (ce qui est situé dans src attribut de img tag) accessible via HTTP à partir du navigateur (peut-être comme des actifs statiques).

Si vous utilisez express.js, here is the documentation

+0

J'ai toujours pensé que « statique » signifie qu'il ne charge une fois et restera avec ces fichiers, je aurais dû essayer au moins une fois. Merci beaucoup! Je vais l'essayer dès maintenant –

+0

Merci beaucoup! Je devrais vraiment avoir essayé moi-même. Merci de perdre un peu de votre temps: P –