2017-04-24 97 views
0

我相信我所遇到什麼,我認爲我最困難的任務使用水晶報表做的。Crystal報表不顯示圖片:CrytalImageHandler沒有找到

問題

我試圖表現出對我的報告圖像,一個存儲在數據庫中的varbinary和第二,從我desktop.The問題增加了一個標誌,我正面臨着是, CrystalImageHandler找不到,也沒有我試過的作品。 而下面的錯誤拋出

http://localhost:1979/ASP/CrystalImageHandler.aspx?dynamicimage=cr_tmp_image_9b453c74-dbe2-4f03-832e-b1bd43e6ec43.png 404 (Not Found)

http://localhost:1979/ASP/CrystalImageHandler.aspx?dynamicimage=cr_tmp_image_0bf1fda9-3e87-446d-94a4-aaad9aa7e53d.png 404 (Not Found)

我已經試過

  1. 我試圖忽視的路由。但是,如果我嘗試通過刪除我的aspx所在的「ASP」路徑來導航到圖像,它仍然不起作用。然而,這是我的RouteConfig.cs的 'ASP' 似乎不能被忽略

public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.IgnoreRoute("{resource}.aspx/{*pathInfo}"); routes.IgnoreRoute("{*allaspx}", new { allaspx = @".*(CrystalImageHandler).*" }); routes.IgnoreRoute("ASP/{resource}.aspx/{*pathInfo}"); routes.IgnoreRoute("ASP/{resource}.aspx/{*pathInfo}");

routes.MapRoute(
     name: "Default", 
     url: "{controller}/{action}/{id}", 
     defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
    ); 
} 

}

  • 我也嘗試將其添加到web.config文件中的處理程序標記。 我曾嘗試加入

    <httpHandlers> <add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web,Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" /> </httpHandlers>

  • 到主的web.config然而,就啓動我的應用程序得到的錯誤An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.它,然後說,我可以忽略錯誤If you are certain that it is OK to ignore this error, it can be disabled by setting system.webServer/[email protected] to false.但設置,以虛假不工作。

  • 我將其放置在第二web.config文件(一個視圖中的文件夾,但仍不能解決問題被顯示沒有圖像的問題。
  • 我將不勝感激,如果我提供協助或一位指導來解決這個問題。因爲這似乎很奇怪,這麼簡單的東西可能是這個具有挑戰性的。

    回答

    0

    我也是在MVC面臨關於加載圖像這一問題上的水晶報表但可以通過以下步驟來解決這個問題。

    可能的解決方案:

    首先要檢查的是是否包含Crystal Reports圖像處理程序。這個處理器的配置似乎並沒有被添加到默認的web.config,所以打開它&看看<httpHandlers>元素。您需要以下有:

    <add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/> 
    

    此外,檢查<handlers>元素在<system.webServer>父節點,因爲處理程序需要在那裏加入,以及:在ASP.NET MVC

    <add name="CrystalImageHandler.aspx_GET" verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode"/> 
    

    問題

    如果您使用的是ASP.NET MVC水晶報表,圖像可能仍無法加載。這是因爲ASP.NET MVC路由引擎正試圖地圖圖像處理器的控制器動作&資源請求,因爲它不能返回404個狀態。

    要解決此告訴ASP.NET MVC路由引擎忽略該資源的請求。爲此,請打開您的路由配置代碼(RouteConfig.cs)。

    應該已經有一個忽略.axd資源。添加以下忽略規則:

    routes.IgnoreRoute("{*allaspx}", new { allaspx = @".*(CrystalImageHandler).*" }); 
    

    Source

    +0

    縱觀我有什麼似乎是等同於您發佈的內容。但是,我有兩個web.config文件。哪一個應該被編輯,一個是根?或視圖文件夾中的一個。編輯在根web.config中給我的錯誤在說'一個ASP.NET設置已檢測到不集成應用託管管道模式。該應用程序定義在System.Web程序配置/ HttpHandlers的section.'我已經把這些視圖中web.config中的設置是否正確? – Niana

    +0

    這些鍵應該在根web.config中。以除去上述錯誤,請加在根web.config該鍵'<配置<驗證validateIntegratedModeConfiguration =「假」 />' – mmushtaq

    +0

    實際上我已經發現了與解決了它,現在我的報告工作了50%。我通過右鍵單擊並選擇(標識)添加的圖像顯示,但是我從我的數據庫拖動到報表的varinary圖像仍然給出crystalhandlerimage錯誤。所以現在正在努力 – Niana

    2

    我遇到了類似的問題。我發現在Web.config中更改下面代碼中的路徑是成功的。我用CrystalImageHandler *替換了CrystalImageHandler.aspx。這似乎解決了我的問題。我不明白爲什麼說實話。我在網上找到某人的帖子,他建議他不能找到CrsytalImageHandler.aspx頁面,並決定僅指向CrystalImageHandler。我認爲這可能值得一些嘗試。

    我用VS2015,.NET 4.5,C#

    <httpHandlers> 
         <add verb="GET" path="CrystalImageHandler*" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/> 
        </httpHandlers> 
    
        <handlers> 
          <add name="CrystalImageHandler.aspx_GET" verb="GET" path="CrystalImageHandler*" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode"/> 
         </handlers> 
    

    希望這有助於

    馬克

    +0

    我一直在爲此掙扎2天。非常感謝 – zeetit