[問題] SQL存取圖片,ashx無法顯示(解決了)

看板C_Sharp (C#)作者 (小艾妮)時間8年前 (2017/05/24 09:46), 8年前編輯推噓6(608)
留言14則, 7人參與, 最新討論串1/1
感謝各位,但不知道為什麼,突然出現圖了, 就在大家提供方式,我一個一個試給各位看後,他竟然出圖了! 回頭看看程式碼,內容沒變,實在不知道要從那裡解釋這種卡陰的狀況~ 小魯妹~感謝以下大大們: J002 ian90911 maxsho ssccg Laluth Litfal =======================以下為事情發生狀況================= 各位好 我的環境是: SERVER 2003 Visual Studio 2008 SQL 2000 IIS 6 ASP.net 2.0 一共3頁 test7.aspx 上傳 test8.aspx 畫面呈現 ImageShow.ashx 將二進位轉回圖片 回傳給test8.aspx呈現 我參照https://dotblogs.com.tw/puma/archive/2008/03/10/1316.aspx 執行出來的結果,圖片總是包子, 這個包子我吃了兩個星期了,仍然無解 http://i.imgur.com/7HYWY0E.png
可否指點一下,資料庫也有寫入(但也不知道是否寫入正確,只是看<二進位>) 谷神我也求助過了,另有參考MIS2000作者的視頻,還是包子一顆, 跪求大大們了 --

05/24 09:56, , 1F
ashx的原始檔呢?
05/24 09:56, 1F
https://goo.gl/8UuzIj .ashx 因為PO上來,排版一直走山,放在雲端~ https://goo.gl/rZa1qX 這是存入資料庫的.cs 程式碼

05/24 09:58, , 2F
錯誤訊息是什麼
05/24 09:58, 2F
只有包子,沒有錯誤訊息,所以我也一直找不到錯誤。

05/24 11:37, , 3F
看起來是 img標籤src錯了。
05/24 11:37, 3F
id=1 這個1 丟到 .ashx檔後,select 出來img 然後再show出對應的img 因為都是在sql下執行,所以不會有實體的src連結位置 (抱歉,如果說明的不清楚,再麻煩您問一下QQ)D

05/24 14:01, , 4F
抓不到圖應該就是404 not found之類的錯誤訊息
05/24 14:01, 4F
我上面有附上圖,就是BT點下後,表格下方有個img,依我按下那個BT, 他會對應到KEY值,然後出圖,但都沒出現圖,如果直接連到.ashx的頁面, 也不會呈現404 not found... 附上圖片http://i.imgur.com/9E0r1lr.png

05/24 14:05, , 5F
在Chrome的Developer console,換到Network那個Tab
05/24 14:05, 5F

05/24 14:06, , 6F
看看連ashx的那個request的response是什麼...
05/24 14:06, 6F
context.Response.BinaryWrite((byte[])dr["image"]); 這行是.ashx Response 要回傳的東西,若不使用BinaryWrite去讀img, 讓他使用context.Response.Write((byte[])dr["image"]); 出來的結果是:System.byte[]

05/24 14:38, , 7F
應該是錯這邊 InputStream.Read --> InputStream.Write
05/24 14:38, 7F
更改了test7.aspx.cs 結果按下上傳後傳回錯誤訊息,如圖: http://i.imgur.com/hj7kJYi.png

05/24 15:11, , 8F
ssccg是要你看瀏覽器認為那個response是什麼,不是code
05/24 15:11, 8F

05/24 15:18, , 9F
比對一下response的資料和原始圖檔大概就知道問題在哪了
05/24 15:18, 9F
慘了...不太懂2位大大想表達的,附上顯示頁面的text8.aspx BT的程式碼, 看看是否有您能判斷的資訊... <asp:Button ID="Button1" runat="server" CommandArgument='<%# Eval("id") %>' CommandName="btnView" Text="view" />

05/24 15:23, , 10F
改成這樣 byte[] ximg = this.FileUpload1.FileBytes;
05/24 15:23, 10F

05/24 15:23, , 11F
37 38 行都註解掉
05/24 15:23, 11F
我使用TextBox來呈現,結果是出現System.Byte[] 您是想看看,他輸入的是否為二進位嗎?

05/24 16:08, , 12F
你現在用什麼瀏覽器在測試?
05/24 16:08, 12F

05/24 16:12, , 13F
從瀏覽器看Response有那麼難懂嗎? 不然右鍵下載也行阿
05/24 16:12, 13F
(跪)因為我幾乎沒在寫web,很多觀念和述語都不是很懂.... 請大大息怒啊QQ

05/24 19:19, , 14F
說一下SQL存圖片的欄位與型態
05/24 19:19, 14F
名稱:image 資料型別:image 大小:16 ※ 編輯: adamini (61.220.35.145), 05/25/2017 09:57:40
文章代碼(AID): #1P9EO3K5 (C_Sharp)
文章代碼(AID): #1P9EO3K5 (C_Sharp)