我想在Image
控件中顯示圖像,因爲用戶通過FileUpload
控件選擇圖像文件,但我不想將圖像保存在我的服務器上。使用FileUpload在圖像控件中顯示圖像
回答
無法完成 - 要顯示「預覽」,您必須至少暫時將圖像存儲在服務器的某個位置,以便您可以在頁面上生成並呈現<img>
標記。
你可以做的最好的事情就是把它上傳到內存中,不用保存就用.ashx或其他東西顯示它。
編輯
HTML5之前,你也許可以由有一個JavaScript函數,它的上傳文件的目錄,然後設置IMG SRC屬性設置爲文件路徑做到了。該圖像然後將從他們自己的硬盤驅動器加載預覽。在符合HTML5的瀏覽器中,該文件路徑處於隱藏狀態,因此您無法在JavaScript中使用它。這發生在IE8,Chrome等
這是另一種混亂的方式來做到這一點。
首先,創建一個JavaScript函數,該函數將處理onchange事件上的FileUpload控件。當這個事件觸發時,它會回發整個表單。
function uploadFile() {
var value = $("#<%=fuTest.ClientID %>").val();
if (value != '') {
$("#form1").submit();
}
}
這裏是上傳控件:現在
<asp:FileUpload runat="server" ID="fuTest" onchange="uploadFile()" />
,當有人選擇一個文件,表單發送回來,然後你可以把圖像到存儲在服務器上,並顯示它時,回傳做完了。
它很好,但如何將字節數組(圖像文件)發送到通用處理程序文件(.ashx)? – 2011-02-23 21:04:50
將圖像存儲在緩存對象或會話中,然後傳遞一個密鑰以將其存儲到ashx處理程序。如果您正確設置內容類型,它可以流出圖像。如果要顯示立即預覽,這將不會真正起作用,只會在用戶成功上傳後纔將圖像顯示給用戶,而不會將其存儲在服務器上。 – 2011-02-23 22:11:22
我要顯示立即預覽 – 2011-02-24 08:44:09
您可以做到這一點,但您需要使用具有可指定Bitmap屬性的自定義imageControl。下面是描述一個文章:
- 1. 如何使用FileUpload在圖像控件中顯示圖像?
- 2. 在asp.net 3.5中使用圖像控件顯示多個圖像
- 3. 圖像控件無法顯示圖像
- 4. ASP.NET圖像控件不顯示我使用的圖像控制的圖像
- 5. 使用內容控件顯示圖像
- 6. 顯示圖像DataList控件使用Asp.net
- 7. 如何使用C#在WPF上的圖像控件中顯示位圖圖像
- 8. 使用圖像控件顯示服務器上傳的圖像
- 9. 在WebBrowser控件中顯示XAML圖像
- 10. 在WinRT WebView控件中顯示圖像
- 11. 在按鈕單擊事件中使用圖像控件顯示圖像
- 12. 使用fileupload預覽圖像
- 13. 在ASP:ASPNET圖像控件中顯示.tif圖像
- 14. 刪除在Windows Phone圖像控件中顯示的圖像
- 15. 圖像未在Asp.net圖像控件和ImageButton中顯示
- 16. 圖像控制不顯示圖像
- 17. 圖像控制不顯示圖像
- 18. 把圖像和變量在HTTP POST(不使用FileUpload控件)
- 19. 使用ASP.Net使用FileUpload控件保存圖像
- 20. 使用圖像目錄顯示圖像
- 21. 沒有圖像顯示在GridView控件
- 22. JSOUP使用URL在圖像視圖中顯示圖像
- 23. 圖像控制不顯示圖像使用mappath屬性vb.net
- 24. 在WPF中使用圖像控件來顯示System.Drawing.Bitmap
- 25. base64圖像不在圖像中顯示
- 26. 使用wpf圖像控件顯示來自文件系統的圖像
- 27. 在圖像控制中顯示打包的圖像
- 28. 圖像在圖像控制中不顯示
- 29. Spring MVC圖像控制器,在JSP中顯示圖像字節
- 30. WPF'Map'控件;使用畫布顯示大量的位圖圖像
這個解決方案是 – 2011-02-23 21:06:16
@hamed不好 - 你想做的事不能做什麼。 dahmsbrak和我的解決方案都至少與你想要做的近似,儘可能多。 – 2011-03-10 17:19:26
我想要當用戶從FileUpload控件中選擇一個圖像時,圖像已自動預覽在圖像控件中。 – 2011-03-12 19:15:39