摘要:網頁透過 JavaScript 呼叫Client端的 應用程式 下載多個檔案
因user有個需求:
在下載檔案列表中,一次選擇n個檔案,要下載到Client端的資料夾中,但user又不想一個一個設定下載路徑,
所以,希望能有個 批次下載 的功能。
討論了很久,原本是想用ActiveX來開發,但,難度上較高,所以,改用JavaScript呼叫Window Form的方式來下載 (感謝阿尼大教導Window Form)
Demo的畫面如下:
使用JavaScript來執行Client端的應用程式,需有幾項前置作業,不然是沒辦法執行,如下圖所示:
需要調整的前置作業如下:
- 需將網站加入至 【信任的網站】
- 調整IE的 【安全性設定 - 起始不標示為安全的 ActiveX 控制項】為【啟用】或【提示】
Demo.aspx 的 JavaScript 如下:
Downloader.exe 較主要的程式碼如下:
因 row.Cells["狀態"].Value = "已完成"; 放在 try-catch 時會 Exception ,所以,改以 Invoke 的方式來處理。
(因小弟是第一次寫Window Form,所以,對該錯誤並非很了解,之後若有找到原由再補上來 Orz)
希望 user 不會一直提需求,最後要把 Downloader.exe 的功能寫得跟 小型續傳軟體 一樣就好
最後定案: