จะแสดงการควบคุมรูปภาพ asp.net ขนาด 2mb ได้อย่างไร

ฉันต้องการแสดงรูปภาพในตัวควบคุมรูปภาพ asp.net ของฉันที่นั่น ฉันประสบปัญหาเนื่องจากขนาดรูปภาพ หากขนาดรูปภาพน้อยกว่า 1mb บนรันไทม์ จะมองเห็นได้ แต่ขนาดเกิน 1mb จะไม่แสดง ฉันจะแก้ไขปัญหานี้ได้อย่างไร?

รหัส:

<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
ขณะนี้มีแท็กเช่น httpruntime ในไฟล์ web.config ของฉัน เราควรจะระบุความยาวสูงสุดของรูปภาพภายใต้แท็ก httpruntime   -  person Rajkumar Reddy    schedule 21.10.2011


คำตอบ (2)


ไม่น่าจะมีปัญหาในการโหลดรูปภาพที่มีขนาดแตกต่างกันด้วยตัวควบคุม ASP.NET Image ดังนั้นฉันคิดว่าปัญหาอาจเป็นอย่างอื่นที่ไม่เกี่ยวข้องกับรูปภาพจริง คุณจะเปรียบเทียบรูปภาพทั้งสอง (รูปภาพขนาด 1MB และรูปภาพขนาด 2MB) อย่างไร เพื่อพิจารณาว่าเป็นปัญหาด้านขนาด

ไม่มีอะไรผิดปกติในรหัสที่คุณโพสต์ที่โดดเด่น คุณสามารถเข้าถึงรูปภาพที่ไม่แสดงจากเว็บแอปพลิเคชันของคุณผ่าน URL ปกติได้หรือไม่ รูปภาพทั้งสองรวมอยู่ในโปรเจ็กต์ในไดเร็กทอรีเดียวกันหรือไม่ ตรวจสอบให้แน่ใจว่ามีการใช้รูปภาพทั้งสองภายใต้เงื่อนไขที่เหมือนกัน และดูว่าคุณได้รับผลลัพธ์ที่เหมือนกันหรือไม่

แก้ไข: หากคุณสามารถวางทั้งสองภาพในตำแหน่งเดียวกันและอ้างอิงภาพในลักษณะเดียวกันและความแตกต่างเพียงอย่างเดียวคือขนาด อาจเป็นได้ว่า IIS ของคุณไม่แสดงภาพที่ใหญ่กว่านี้ ลองเข้าถึงรูปภาพโดยตรงผ่านเบราว์เซอร์ของคุณ เช่น http://yourURL/Images/dh_banner.jpg และดูว่าคุณสามารถเห็นภาพขนาด 1MB+ ได้หรือไม่ หากคุณไม่สามารถมองเห็นได้เช่นนี้ แสดงว่า IIS เป็นปัญหา หากคุณมองเห็นได้ อาจเป็นเพราะว่าคุณอ้างอิงรูปภาพในโค้ด ASP.NET ของคุณอย่างไร

หากเป็นปัญหา IIS จริงๆ ลิงก์นี้จะช่วยคุณแก้ไขปัญหาได้:

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

person Kelsey    schedule 21.10.2011
comment
ใช่ ฉันสรุปได้เพราะฉันถ่ายรูปขนาดใหญ่ และฉันบีบอัดรูปภาพเหล่านั้นหลังจากนั้น ขนาดรูปภาพนั้นจะเป็น 27kb ตอนนี้ฉันกำลังรับรูปภาพเหล่านั้นตอนรันไทม์ แต่รูปภาพขนาด lmb ไม่สามารถมองเห็นได้เลยตอนรันไทม์ - person Rajkumar Reddy; 21.10.2011
comment
ขอบคุณสำหรับการตอบกลับของคุณ หากไม่สามารถมองเห็นรูปภาพผ่าน url ได้ ดังนั้นฉันจึงตรวจสอบแล้ว ฉันติดตั้งคำขอแล้วเพื่อกรองปัญหาว่าปัญหาคืออะไร คุณช่วยอธิบายฉันหน่อยได้ไหม - 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