0

我想用AjaxFileUpload將多個文件上傳到SQL數據庫。我有一種方法可以用來上傳單個文件;與aspx頁面:如何使用AjaxFileUpload將圖像文件流式傳輸到SQL數據源?

<asp:FileUpload ID="file_Image" runat="server"/> 

而且與aspx.cs頁:

protected void UploadFile(object sender, EventArgs e) 
{ 
    FileUpload FileUpload1 = file_Image; 

    // Read the file and convert it to Byte Array 
    string filePath = file_Image.PostedFile.FileName; 
    string filename = Path.GetFileName(filePath); 

    if (FileUpload1.HasFile && FileUpload1.PostedFile != null) 
    { 
     Stream fs = file_Image.PostedFile.InputStream; 
     BinaryReader br = new BinaryReader(fs); 
     Byte[] bytes = br.ReadBytes((Int32)fs.Length);}} 

但是,我怎麼能使用類似的東西AjaxFileUpload或者是它甚至有可能到流這樣的圖像數據來自Ajax控件?非常感謝您分享您的知識!

+0

感謝您的答覆;我正在使用SQL Server 2008 R2(SQL Server Management Studio) – Jacman 2013-03-08 16:59:17

+0

我想這是一個複雜的問題;但是,有什麼方法可以處理? – Jacman 2013-03-08 17:40:46

+0

你有什麼困難?允許多個文件上傳或保存到數據庫的控件? – jason 2013-03-08 19:23:34

回答

1

[參考在AjaxToolKitAjaxFileUpload控制] [1] http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AjaxFileUpload/AjaxFileUpload.aspx

這個新AjaxFileUpload控制支持多文件上傳一次。但它有一些限制,IE10或Chrome最新版本支持。

這是非常可靠的,我使用這個。

簡單的方式來AjaxFileUpload文件內容轉換爲SQL VARBINARY數組:

protected void AjaxFileUpload1_UploadedComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e) 
{ 
byte[] image = e.GetContents(); 
} 
+0

謝謝羅米爾!我之前檢查過該示例,但它只保存到文件系統。 – Jacman 2013-03-08 20:46:30

+0

現在看到確切的答案。 – 2013-03-09 04:40:50

+0

非常感謝羅米爾!第二種方法GetContents()完美工作。我感謝您的幫助。 – Jacman 2013-03-11 19:28:22

相關問題