2016-09-06 12 views
0

我有這個示例代碼,通過單擊按鈕手動從數據庫表下載圖像。如何在數據庫表中更新時自動下載圖像?

在Html頁面:

<asp:Button ID="Button1" runat="server" Text="Convert Byte to All Image " OnClick="Button1_Click" /> 

後面的代碼:

protected void Button1_Click(object sender, EventArgs e) 
     { 
      string sConn = ConfigurationManager.ConnectionStrings["conString"].ToString(); 
      SqlConnection objConn = new SqlConnection(sConn); 
      objConn.Open(); 
      string sTSQL = "Select TOP 1500 FileData, FileValue from Demo_Tbl where Active=1 and FileGroup='C_Photo'"; 
      SqlCommand objCmd = new SqlCommand(sTSQL, objConn); 
      objCmd.CommandType = CommandType.Text; 
      SqlDataAdapter adapter = new SqlDataAdapter(); 
      DataTable dt = new DataTable(); 
      adapter.SelectCommand = objCmd; 
      adapter.SelectCommand.CommandTimeout = 10000; 
      adapter.Fill(dt); 
      objConn.Close(); 
      for (int i = 0; i < dt.Rows.Count; i++) 
      { 
       string FileValue = dt.Rows[i]["FileValue"].ToString(); 
       object FileData = dt.Rows[i]["FileData"]; 
       System.IO.File.WriteAllBytes(Server.MapPath("/Images/" + FileValue), (byte[])FileData); 
      } 
      Response.Write("Images has been fetched"); 
     } 

我想在Demo_Tbl表由每次有人更新了這個下載自動發生。另外我想要在雲數據庫(https.clode.azure.com)blob中下載目標文件夾。

我需要一些人來幫助我,因爲我的線索少了。

+0

更新意味着您正在觸發更新某一行的特定方法。然後,您可以使用我猜測的方法在特定文件夾中進行下載。 –

+0

@ AT-2016 - 我不太熟悉觸發器。是的,這個表格會被一些隨機的人更新,現在我想讓我的代碼自動運行並下載圖片。 – Jaggi

+0

當您更新表格時,意味着您更新了一行,並使用方法執行此操作。你爲什麼不在更新事件上自動下載? –

回答

0

是的,它是一個好主意,下載更新事件。

如果您在更新事件上編寫下載代碼,則需要在更新事件完成之前等待下載方法。我建議您將隊列消息插入Azure存儲隊列,然後使用Azure Webjob QueueTrigger將文件下載到Azure Blob。 Here是使用Azure Webjob QueueTrigger調整圖像大小的類似場景。我認爲這將有助於你的情況。

+0

_謝謝,讓我看看它 – Jaggi

相關問題