2009-07-26 90 views
0

我正在使用.ASHX處理程序從ASP.NET應用程序返回圖像。當我使用瀏覽器直接擊中URL(例如):帶有.ASHX圖像處理程序的jQuery Thickbox - 顯示垃圾

 http://localhost/myapp/GetImage.ashx?key=12

它工作正常...圖像顯示在頁面上。但是當我使用的是同一條鏈路在ThickBox的目標......我得到這個:

alt text http://franceschina.net/temp/thickbox.png

蒸餾版本ASHX的代碼:


    byte[] img = (byte[])pp.PRODUCT_PHOTO1.ToArray(); 
    context.Response.ContentType = "image/JPEG"; 
    context.Response.OutputStream.Write(img, 0, img.Length); 

任何想法,我缺少什麼?

+0

我不完全確定你可以在本地做這種事情。它是否在錯誤控制檯中拋出任何錯誤?你有沒有在網絡服務器上試過它? – Sneakyness 2009-07-26 15:27:04

回答

1

http://drupal.org/node/140371

在Thickbox模塊中,主* .js文件thickbox.js沒有考慮在drupal中創建的圖像URL,例如通過/ image/view/2321/preview而不是/image.jpg(或* gif或* png)。如果thickbox.js在鏈接定位標記([a href ...]標記)中沒有看到文件名稱本身(gif,jpg,png,jpeg),則它會將該圖像視爲另一個不是圖片。這會導致Thickbox在頁面頂部吐出糟糕的垃圾,而不是很酷的shadowbox(lightbox)效果。

看起來像你有同樣的問題。

+0

哇......好工作......這就對了。我在thickbox中修改了這兩行以添加「.ashx」擴展名,並且它工作正常!因爲這是對這個問題的真正答案,我會接受它......但我實際上不會實現這個解決方案(我將堅持使用iFrame),因爲我不想處理一個定製thickbox腳本 – 2009-07-30 14:17:58

0

好吧,我結束了使用ThickBox的iframe選項加載我的圖像與另一頁。我不喜歡這種解決方案(它需要一個單獨的頁面和額外的代碼,以確定iFrame的最佳高度/寬度)...但它的工作原理和我沒有任何更多的時間來惹它

相關問題