Je vais supposer que C: \ images \ logo.gif est le chemin sur le serveur, et non le chemin sur le client.
L'attribut src est interprété par le client html (c'est-à-dire Internet Explorer). Le client ne peut rien voir en dehors de votre répertoire Web. En fait, le client ne peut voir les choses à l'intérieur de votre répertoire web que si vous lui avez fourni l'autorisation de le faire. Par conséquent, il ne s'agit pas d'un problème ASP.NET, mais plutôt d'un problème d'accès des clients Web aux serveurs Web ... conçu de cette manière pour des raisons de sécurité.
Pour que votre application à utiliser ces images, vous avez deux options qui viennent immédiatement à l'esprit - ni qui est idéal:
Le code ASP.NET (dans le codebehind) va devoir aller chercher le fichier et le diffuser dans le flux html qui est servi au client, ce qui est une tâche plus complexe que ce que je suppose que vous êtes prêt à lancer.Le code ASP.NET (en utilisant System.IO) va devoir aller chercher le fichier à partir de son emplacement d'origine dans C: \ images \ logo.gif et le copier dans un emplacement accessible à l'utilisateur. client - vous pouvez créer un répertoire temporaire, y copier votre image, le diffuser, le supprimer, supprimer le répertoire.
Ces deux éléments sont certainement hacks qui devraient être évitées si possible, mais si vous êtes catégorique que c'est ce que vous voulez faire, cela vous permettra de le faire via votre application ASP.NET. La solution la plus idéale consiste à ajouter C: \ Images en tant que répertoire virtuel à votre racine de document, c'est-à-dire/ImageCentral - de cette façon vous pouvez avoir des images centrales pour plusieurs sites web stockés dans ce répertoire. par les clients pour l'un des sites Web en ajoutant simplement des répertoires virtuels à chacun d'entre eux pointant vers le dossier images central. Comme le fait remarquer DaveSwersky, ne faites pas de répertoires contenant des répertoires virtuels d'informations sensibles, dès que vous ajoutez un répertoire virtuel à un site Web visible en externe, vous donnez aux gens la liberté d'accéder aux informations qui s'y trouvent.
Bonne chance
Est-il possible de définir un répertoire virtuel pour qu'il soit indépendant du logiciel du serveur web - disons dans web.config? – Arizona1911
Pas de manière simple. Cela va dans le coeur du serveur, malheureusement. Le problème est que la balise img va entraîner le client à demander un document appelé '/ images/logo.gif'. Vous pourriez avoir envie de quelque chose comme BenAlabaster suggéré ci-dessous et au lieu de faire la balise 'img' pointant directement sur votre fichier, il pourrait aller à' /yourapp/getfile.aspx? C: \ images \ logo.gif'. Cela mettrait la demande dans le contrôle de votre application, mais c'est probablement une mauvaise idée. Vous devez faire attention à ne servir que des fichiers du répertoire 'c: \ images' ... –
Ce message était informatif. J'ai voté. Merci. J'aime cette communauté. – clientbucket