asp.net mvc: как обмениваться файлами изображений между доменами - PullRequest
0 голосов
/ 18 января 2012

Я нахожусь в ситуации, когда у меня есть два сайта, один субдомен другого.Один сайт загружает изображения в папку и сохраняет ссылку на изображение в базе данных, доступной для другого сайта.

Мне нужно иметь доступ к изображениям на обоих сайтах.

Я рассмотрел сохранение файлов в папке, доступной обоим сайтам, за пределами общедоступных html-папок, но затем не уверен, как ссылаться на эти изображения, не имея неприятных атрибутов src, которые показывают полные пути к серверу.

Спасибо

1 Ответ

2 голосов
/ 18 января 2012

Вы можете написать действие контроллера, которое будет обслуживать их:

public ActionResult Image(int id)
{
    var image = ... go and fetch the image information from the database (you will need the path to the image on the server and the content type)
    string path = image.Path; // could be any absolute path anywhere on your server, for example c:\foo\bar.jpg
    string contentType = image.ContentType; // for example image/jpg
    return File(path, contentType);
}

а затем в ваших взглядах:

<img src="@Url.Action("Image", "SomeController", new { id = 123 })" alt="" />

который будет представлен как:

<img src="/SomeController/Image/123" alt="" />

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

Также убедитесь, что вы предоставили необходимые разрешения учетной записи, под которой ваше приложение запускается в IIS, папке, в которой вы храните свои изображения, в противном случае они не смогут читать их, если эта папка находится за корень приложения.

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