2017-08-06 2 views
0

Je travaille avec sur une page de profil utilisateur avec nodejs où l'utilisateur peut voir son propre avatar après la connexion. L'utilisateur a la possibilité de télécharger les fichiers dans le dossier de téléchargement qui est en dehors de la norme htmlpath. J'ai la structure de dossier suivant:L'image Nodejs en dehors de htmlpath ne fonctionne pas

  • amenagement
  • node_modules
  • publics (tous les fichiers statiques)
  • schéma
  • téléchargements (fichiers téléchargés par l'utilisateur)

    eps 
        euro-pool-1501781922012.jpg 
    
  • util

  • vues

Ce sont les paramètres du htmlpath dans app.js:

app.use(require('serve-static')(path.join(__dirname, 'public'))); 
app.use(require('method-override')()); 
app.use(express.static('public')); 

du côté client i utilise ce chemin par rapport à l'image:

<img src="../uploads/eps/euro-pool-1501781922012.jpg" class="img-circle profile-avatar" alt="User avatar" data-pin-nopin="true"> 

i aussi essayé

<img src="./uploads/eps/euro-pool-1501781922012.jpg" class="img-circle profile-avatar" alt="User avatar" data-pin-nopin="true"> 

mais quand je navigue vers page e il n'a pas réussi à montrer l'image et je reçois l'erreur folowing retour:

GET http://192.168.2.20:3000/uploads/eps/euro-pool-1501781922012.jpg 404 (Not Found) 

J'ai deux questions:

  1. Est-il posible d'acces fichiers en dehors du htmlpath?
  2. Comment puis-je résoudre ce problème sans déplacer le dossier entier vers le dossier public?

Un grand merci,

Erik

+0

Qu'entendez-vous par htmlpath? Voulez-vous dire votre dossier public statique? – lilezek

Répondre

1

Oui, il est possible, si vous ne voulez pas restreindre l'accès à ce dossier, vous pouvez configurer deux répertoires différents pour servir des fichiers statiques:

app.use('/public', express.static(__dirname + '/public')); 
app.use('/uploads', express.static(__dirname + '/uploads')); 

le chemin de l'image Dans ce cas, devrait commencer à partir /uploads:

<img src="/uploads/eps/euro-pool-1501781922012.jpg" ... 
+0

Merci pour la réponse rapide. Cela marche :-)... –