2012-03-15 86 views
18

如果一個訪問和返回jQuery-File-Upload Demo page會盡量上傳圖片,然後會看JSON響應,他會發現上載的圖像的預覽在一個格式中:轉換圖像轉換成數據:圖像/ PNG; base64,以網頁disaplay

"thumbnail_url":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAI... 

據我所知,圖像變成字符串併發送回客戶端。

我該如何在C#中執行相同的演示來推動ASP.NET後端?

+0

我記得一個問題的答案,可能會對你有所幫助從前陣子:http://stackoverflow.com/a/8706618/1073107 – dash 2012-03-15 22:20:03

+0

@dash - 太棒了。發佈它作爲答案。它只是像兩行代碼。非常感謝你! – 2012-03-15 22:28:04

回答

31

看完記得一個問題的答案回來,而由非常能幹competent_tech和思考「我從來不知道你能做到這一點!」

In that answer is an example有關如何設置一個ASP.Net圖像的src進行編碼您在上面看到的數據以base64。

它有效地歸結爲一個設置ASP的src:Image控件如下:

imgCtrl.Src = @"data:image/gif;base64," + Convert.ToBase64String(File.ReadAllBytes(Server.MapPath(@"/images/your_image.gif"))); 

記住根據圖像改變內容的類型!

+4

對於那些可能會偶然陷入這個線程的人:如果你的圖像是作爲內存流生成的,你可以這樣做: MemoryStream ms = new MemoryStream(); /* {然後一些代碼來填充圖像流} */ String base64String = Convert.ToBase64String(ms.ToArray()); 然後如上所述使用答案。 – 2013-03-05 20:16:21