Доступ к изображению из папки App_data - PullRequest
0 голосов
/ 02 января 2012

Я хочу сохранить некоторые изображения в папке app_data, я знаю, что это безопасная папка но я не знаю, как я могу получить доступ к этому файлу изображения из HTML (изображение не появляется)

есть ли какие-либо предложения или как я могу сохранить свое изображение в безопасном месте, недоступном для внешнего пользователя

Ответы [ 3 ]

1 голос
/ 02 января 2012

Следующее должно помочь вам начать.

namespace Moo.Core.Handlers
{
    public class Thumbnail : IHttpHandler
    {
        public bool IsReusable
        {
            get { return false; }
        }

        public void ProcessRequest(HttpContext context)
        {
            String FileName = Path.GetFileName(context.Request.PhysicalPath).Replace(".th", "");
            String AssetName = HttpContext.Current.Request.MapPath(Path.Combine(HttpContext.Current.Request.ApplicationPath, "UserData/Images/" + FileName));

            if (File.Exists(AssetName))
            {
                context.Response.ContentType = ImageManipulation.TypeOf(AssetName).MimeType;
                context.Response.BinaryWrite(File.ReadAllBytes(AssetName));
                context.Response.End();
            }
        }
    }
}
1 голос
/ 02 января 2012

Папка App_Data предназначена для хранения баз данных, файлов XML и других форм хранения данных.Там нет необходимости хранить ваши изображения там.Вместо этого создайте папку в другом месте и используйте свой веб-сервер, чтобы отключить просмотр каталога в этой папке.В конце концов, если пользователь может видеть изображение, он может получить к нему доступ тем или иным способом, но отключение обозревателя каталогов означает, что он не может просто просматривать папки, как, например, в проводнике Windows.

0 голосов
/ 02 января 2012

Если вы просто хотите контролировать доступ к изображениям, вы можете хранить файлы в своей базе данных и получать их в виде двоичного изображения для пользователей, которых вы хотите. Пример:

<img alt="Embedded Image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />

Подробнее об этом можно узнать здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...