網頁透過 JavaScript 呼叫Client端的 應用程式 下載多個檔案

摘要:網頁透過 JavaScript 呼叫Client端的 應用程式 下載多個檔案

因user有個需求:

在下載檔案列表中,一次選擇n個檔案,要下載到Client端的資料夾中,但user又不想一個一個設定下載路徑,

所以,希望能有個 批次下載 的功能。

討論了很久,原本是想用ActiveX來開發,但,難度上較高,所以,改用JavaScript呼叫Window Form的方式來下載 (感謝阿尼大教導Window Form)

Demo的畫面如下:

使用JavaScript來執行Client端的應用程式,需有幾項前置作業,不然是沒辦法執行,如下圖所示:

需要調整的前置作業如下:

  1. 需將網站加入至 【信任的網站】
  2. 調整IE的 【安全性設定 - 起始不標示為安全的 ActiveX 控制項】為【啟用】或【提示】


Demo.aspx 的 JavaScript 如下:


Downloader.exe 較主要的程式碼如下:

因 row.Cells["狀態"].Value = "已完成"; 放在 try-catch 時會 Exception ,所以,改以 Invoke 的方式來處理。

(因小弟是第一次寫Window Form,所以,對該錯誤並非很了解,之後若有找到原由再補上來 Orz)

希望 user 不會一直提需求,最後要把 Downloader.exe 的功能寫得跟 小型續傳軟體 一樣就好


最後定案: