2010-03-29 114 views
0

因此,我正在開發一個網站,該網站需要一個文件上傳控件,用戶可以上傳圖片,然後頁面會回發,導致圖片顯示爲他們的查看(在將數據提交給數據庫之前,圖像被存儲爲類型圖像)。我現在做的是有我自己的私人網頁表單裏的人給我自己的形象,因此我對其進行格式化,並使用以下簡單的代碼上傳:使用文件上傳從內存中顯示圖像

byte[] newimage = fileUpImgFile.FileBytes; 
var myDataTable = (from item in context.TypeSet where item.Number == txtBxNumber.Text.Trim() select item).ToList(); 

foreach (Type item in myDataTable) 
{ 
    item.Photo = newimage; 
} 
context.SaveChanges(); 

其中一期工程,但在這種情況下,不僅會如果記錄已經存在於數據庫中,則工作,以便該人員必須保存數據,然後返回並上傳圖像(不方便且效率低下)。有沒有辦法上傳它,將它存儲在內存中,然後顯示它,而不將它保存到數據庫中?

回答

0

一旦你有上傳的字節,你可以做任何你想要的。

立即跳轉的方法是將該字節存儲在該用戶的Session中。

+0

該網站未使用視圖狀態或會話。我將如何去採取字節數組並將其設置爲圖像的來源,因此回發會導致圖像出現? – dangerisgo 2010-03-29 23:01:25

+0

有很多方法可以做到這一點。您可以編寫一個臨時文件(緩慢而直接),或者編寫一個自定義HttpHandler來處理這些內存映像的特定請求,並將這些字節直接寫入響應輸出流。你可以谷歌的一些相關的例子。 – womp 2010-03-29 23:24:57