2012-03-05 7 views
0

Je travaille sur une application qui télécharge des images, puis les affiche.Autorisations IIS dans le dossier App_data

Les images sont stocker dans une structure similaire à celle-ci:

\ fichiers \ App_Data \ 0d10e5c1-13ad-4493-97e7-dc4b09dc15e1 \ 2012 \ 3 \ 4

Comme vous pouvez le voir, les fichiers sont segmentés par companyID (le Guid), année, mois et jour.

Le problème est quand je veux montrer l'image, j'obtiens une erreur "l'accès au chemin est refusé" Le plus drôle est que les images peuvent télécharger sans aucun problème. J'ai essayé n'importe quelle combinaison d'autorisations que vous pouvez imaginer sur les dossiers et toujours rien.

Cela me rend fou! Des idées?

Un peu plus d 'info:

L'application est ASP.NET MVC 3 Project et l'IIS est 7,5

Je montre l'image en utilisant un contrôleur comme ceci:

[HttpGet] 
    public ActionResult show(Guid id) 
    { 
     var results = productImagesRepository.showProductImage(id); 
     return File(results.imageNameAndPath, results.contentType); 
    } 

la recherche, je trouve ceci:

asp.net mvc app_data folder

J'ai donc essayé de créer un nouveau forlder en dehors de l'APP_DATA mais les résultats sont les mêmes.

+0

Pouvez-vous donner un exemple de valeur results.imageNameAndPath? –

+0

results.imageNameAndPath = "D: \\ Développement \\ projets \\ theProject \\ source \\ tdbCore \\ _ FileStore \\ fichiers \\ 0d10e5c1-13ad-4493-97e7-dc4b09dc15e1 \\ 2012 \\ 3 \\ 5 \ \ 20d20d84-76de-4193-98ab-f18189cfec6d – epaulk

Répondre

0

Êtes-vous sûr de télécharger les fichiers que vous fermez et éliminez correctement? IIS pourrait maintenir un verrou de fichier de vous ne le faites pas. Juste une supposition car je ne peux pas voir votre téléchargement ou tout autre code relatif aux fichiers.

Un moyen rapide de vérifier est de faire rebondir IIS qui libérera tous les verrous de fichiers, si vous pouvez ensuite les voir, cela pointerait vers un problème de verrouillage de fichier.

2

Le dossier App_Data est désigné comme un dossier pour stocker des bases de données pour votre site Web. IIS protège ce répertoire - et à des fins de sécurité ne servira pas les demandes de lecture. Donc, vous ne devriez pas stocker des images dans ce dossier, seulement des fichiers de base de données.

Questions connexes