Как отобразить изображение размером 2 МБ asp.net image control?

Я хочу отобразить изображение в моем элементе управления изображением asp.net. Я столкнулся с проблемой из-за размера изображения. Если размер изображения меньше 1 МБ во время выполнения, оно будет видно, но больше 1 МБ оно не будет отображаться. Как я могу решить эту проблему?

Код:

<div style="overflow: hidden; width: 1345px;">
    <asp:Image runat="server" ID="ImgTop" ImageUrl="~/Images/dh_banner.jpg"
        Width="100%" Height="100px" />
</div>

person Rajkumar Reddy    schedule 21.10.2011    source источник
comment
Проверьте в конфигурации (IIS и ASP.NET), установлено ли ограничение на размер ответа HTTP.   -  person VinayC    schedule 21.10.2011
comment
теперь в моем файле web.config есть такой тег, как httpruntime, мы предполагаем указать максимальную длину изображения в теге httpruntime.   -  person Rajkumar Reddy    schedule 21.10.2011


Ответы (2)


Не должно быть проблем с загрузкой изображений разного размера с помощью элемента управления ASP.NET Image, поэтому я думаю, что проблема может быть в чем-то другом, не связанном с фактическими изображениями. Как вы сравниваете два изображения (изображение 1 МБ и изображение 2 МБ), чтобы определить, что это проблема размера?

В коде, который вы разместили, нет ничего плохого, что выделяется. Можете ли вы получить доступ к изображению, которое не отображается из вашего веб-приложения, через обычный URL-адрес? Оба изображения включены в проект в одном и том же каталоге? Убедитесь, что оба изображения используются в одинаковых условиях, и посмотрите, получится ли у вас одинаковый результат.

РЕДАКТИРОВАТЬ: Если вы можете поместить оба изображения в одно и то же место и ссылаться на них одинаковым образом, а единственная разница заключается в размере, то, вероятно, ваш IIS не обслуживает изображение большего размера. Попробуйте получить доступ к изображению напрямую через браузер, например http://yourURL/Images/dh_banner.jpg, и посмотрите, сможете ли вы увидеть изображение размером более 1 МБ. Если вы этого не видите, значит, проблема в IIS. Если вы это видите, то, вероятно, это то, как вы ссылаетесь на изображение в своем коде ASP.NET.

Если это действительно проблема IIS, эта ссылка должна помочь вам решить проблему:

http://www.iis.net/ConfigReference/system.webServer/security/requestFiltering/requestLimits

person Kelsey    schedule 21.10.2011
comment
да, я пришел к выводу, потому что я взял изображения большого размера, и я сжал эти изображения после того, как размер этого изображения будет 27 КБ, теперь я получаю эти изображения во время выполнения, но изображение размера lmb вообще не видно во время выполнения - person Rajkumar Reddy; 21.10.2011
comment
Спасибо за ваш ответ, если просматривать изображение по URL-адресу, его не видно, поэтому я проверил свой iis, я установил фильтрацию запросов, в чем проблема, можете ли вы мне объяснить. - person Rajkumar Reddy; 21.10.2011
comment
@Rajkumar Reddy, на данный момент я мало чем могу вам помочь. Вам нужно устранить неполадки и предоставить дополнительную информацию или повторно открыть новый вопрос, так как этот вопрос, вероятно, завершен теперь, когда вы знаете, что он не относится к элементу управления. - person Kelsey; 21.10.2011

В вашем файле web.config вы должны настроить максимальный размер файла, который вы можете отобразить.

Вот 2 настройки, которые я изменил или добавил в web.config: В system.web поместите:

<httpRuntime maxRequestLength="30720" executionTimeout="7200"/>

И под System.webServer поставьте:

<security>
   <requestFiltering>
    <requestLimits maxAllowedContentLength="31457280"/>
   </requestFiltering>
</security>
person Sylvain Perron    schedule 28.10.2011