как открыть страницу в другом экземпляре браузера, нажав на ссылку - PullRequest
2 голосов
/ 22 марта 2010

У меня есть ссылка

<a id="DownloadLink" href='controller/action' target="_blank">Download File</a>

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

public FileContentResult GetSurveyFile(int Id)
        {
            if (Id == 0)
                return null;
            Survey survey = Repository.GetItem(Id);
            if (survey.File == null)
                return null;

            return File(survey.File.FileContent.ToArray(), survey.File.ContentType,survey.File.Name);
        }

где тип контента - изображение / jpeg

что не так?

Ответы [ 2 ]

5 голосов
/ 22 марта 2010

То, как браузер обрабатывает файлы изображений, зависит от настроек браузера / ОС / пользователя.Чтобы абсолютно гарантировать, что он открыт и не загружен, просто оберните изображение в html-страницу, где изображение является единственным в теле.

2 голосов
/ 22 марта 2010

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

В вашем сценарии браузер решает загрузить изображение.

Вы можете отобразить его, вставив его внутри HTML-страницы - это обеспечит его отображение во всех браузерах, а не загрузку - и пользователь может использовать обычные методы для сохранения изображения с веб-страницы, если они пожелают.

...
<body>
    <img src="your-c#-page" />
</body>
....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...