Question

Je travaille avec deux sites Web différents dans asp.net. Dans le premier projet i télécharger des images vers un dossier spécifique sous la racine du projet et sauver juste le nom de fichier dans la base de données, maintenant je suis en train d'afficher ces images à une page du deuxième projet, je connais le nom de la base de données et l'image dossier que pat absolu, mais je ne l'ai pas été en mesure d'afficher l'image, même pensé quand on regarde dans le firebug src image est l'image src="D:/MyFolder/image.jpg" correcte n'affiche pas, probablement parce qu'il ne pointe pas dans le bon répertoire. J'ai aussi essayé d'utiliser Server.MapPath puis ma position D, mais toujours sans succès.

Je suis sûr que quelqu'un a fait face à la même situation avant et était vraiment l'espoir d'obtenir quelques indices pour gérer cela. Nous vous remercions à l'avance

Était-ce utile?

La solution

J'ai trouvé ma solution, étrange, mais je ne l'ai pas attraper avant. images téléchargées sous un projet peuvent toujours être accessibles en utilisant l'URL du projet http://www.yourwebsite.com/images/photo.png maintenant dans le deuxième projet, vous pouvez utiliser les images de référence en utilisant cette URL et concaténer le nom du fichier que je stocke sur la base de données. Je pense que c'est la meilleure solution et sans changer la sécurité d'accès du code qui je pense peut apporter d'autres problèmes avec elle. En tout cas merci les gars.

Autres conseils

Si vous voulez afficher l'image qui ne sont pas dans votre projet (je veux dire qu'il est présent dans un autre projet ou un autre lecteur) il suffit de créer le répertoire virtuel dans IIS

  1. Cliquez sur "Exécuter", tapez inetmgr
  2. Faites un clic droit sur votre projet et ajoutez répertoire virtuel
  3. Indiquez le nom d'alias et le chemin de sorte qu'il agit comme dossier dans votre projet

Je ne pense pas que vous pouvez servir des fichiers en dehors de votre chemin par défaut de l'application. Il appelle le code d'accès de sécurité. Vous pouvez lire à ce sujet ici:
http://msdn.microsoft.com/en-us/library/930b76w0. aspx

Vous pouvez corriger cela en changeant votre niveau de confiance à haut dans votre web.config:
http://msdn.microsoft.com/en-us/library/tkscy493. aspx

Je ne recommanderais pas le faire pour tout site qui est accessible de l'extérieur. En fait, selon la / où vous hébergez votre application, cette option peut être limitée.

Vous ne pouvez « lien » aux fichiers qui existent par rapport au même projet ou sont hébergés sur un autre site via une URL absolue.

Si vous voulez réparer des fichiers en dehors de l'application / site (sur le disque ou dans une base de données), vous aurez besoin de construire un mécanisme qui obtient le fichier et binaire écrit dans le navigateur, définir le type MIME etc. Il est préférable fait en utilisant un HttpHandler.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top