簡體   English   中英

無需輸入即可將數據從Web應用程序獲取到客戶端計算機上特定文件夾中的XML文件的方法

[英]Ways to get data from a web application into an XML File in a specific folder on a clients computer without their input

我們有一個執行某些交易的Web應用程序。 用戶在具有其他應用程序的客戶端PC上使用Web應用程序。 第二個應用程序使用與輸入到我們系統中的數據非常相似的數據。 目前,用戶在我們的兩個系統中都輸入了它,然后在第二個系統中輸入了它。

集成到第二個系統中的唯一方法是將XML文件放在客戶端PC上的特定文件夾中。 我希望能夠生成該XML文件並將其保存在客戶端計算機上,而無需他們單擊或確認任何內容。

我知道無法在沒有輸入的情況下從瀏覽器下載到客戶端PC,但是如果我可以在他們的PC上安裝某些東西,那么肯定有一種簡便的方法。

到目前為止,這是我想出的:

1:讓服務器生成並托管文件,並出現“下載”對話框,以便用戶可以下載它。

我不喜歡這樣,因為用戶需要在每次交易后確認下載,並且他們選擇下載目錄,因此有可能將其保存到錯誤的位置。

2:在服務器上創建WCF服務,該服務將提供事務信息並從客戶端計算機上的應用程序調用它。 然后,客戶端應用程序將生成文件

這似乎更好,但仍然不干凈。 首先,用戶必須記住要運行該應用程序,並且還需要用戶名才能獲取相關信息,並且需要為每個用戶進行更新。 用戶輪班工作,因此如果有人進來並且不更新活動用戶的用戶名,則錯誤的用戶名將發送到Web服務,並且不會返回任何數據。

3:使用HTML5本地存儲保存文件,並從PC上運行的Windows服務訪問該文件。

我調查了一下,但似乎不可行。 在本地瀏覽器存儲中創建文件不會使您可以輕松訪問的磁盤上的文件。

4:使用Web套接字(例如SignalR)

我只是剛剛開始研究而已,對此還沒有完全的了解,請多加贊賞。 同樣,需要使用用戶名來確定要發送到客戶端的數據。

我想聽聽對我上面說明的方法或任何其他可行的方法的意見或建議。

看來這是一個簡單的任務,但我找不到簡單的答案,也許第2點是路要走? 所有意見和建議表示贊賞

不會。未經用戶同意,您不會在客戶端計算機上安裝任何東西或將文件放置在文件系統中。 這將是一個荒謬的巨大安全漏洞。

讓用戶下載一個將文件放置在正確位置的安裝程序,僅此而已。

創建自定義URL協議

您將在客戶端計算機上安裝.exe或.vbs文件(或任何您創建的文件),該文件將在自定義網址協議接收位置時調用,

如:

 myproto://createfile?data=somedatahere

您可以執行.exe文件中需要執行的所有操作,例如使用返回文件內容的Web服務。

您將需要為Windows創建一個可執行文件,為Mac創建另一個可執行文件。

協議到位后,您可以做一些瘋狂的事情,例如設置一個websocket來偵聽觸發自定義url協議的特定消息,然后該消息使用一個Web服務,該服務返回xml文件的內容並將其寫入目錄在本地文件系統上。 ......

帶有簽名證書的Java applet可能最終是最佳選擇。 這樣,一旦它們允許applet運行,我就可以在客戶端計算機上生成文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM