2009-11-09 68 views

回答

1

不能使用JS從遠程機器讀取一個文件,因爲同一個域政策。您必須對打開頁面的服務器執行Ajax請求,服務器必須使用PHP或其他任何後端語言從其他服務器獲取文件 - 任何沒有相同域的策略策略 - 然後用你提取的文件的內容回答Ajax調用。

編輯:當然編寫客戶端計算機上的文件是不可能在內,並有針對

0

沒有辦法設置客戶端計算機上的FTP服務器(或ssh守護進程)能有所幫助。然後做一個JS請求到asp.net/PHP腳本來啓動ftp copy(或ssh copy)進程到客戶端服務器。

0

可能達致這與服務器端語言結合使用JavaScript/AJAX,但我們必須作出一些假設,然後纔開始: -

  1. 過程將通過用戶的觸發Web瀏覽器
  2. 您同時擁有源服務器和目標服務器(遠程和本地)上的Web服務器
  3. 源服務器是一個「遠程計算機(從IIS6.0虛擬目錄)」
  4. 目標服務器是用戶的計算[R
  5. 用戶是已知的,有目標Web服務建立自己的計算機上

首先你可能會設置在源服務器上的Web服務(使用ASP.NET)。該服務將接收來自Ajax的請求並返回相關文件的內容。

其次,您可以在目標服務器上設置Web服務(使用ASP.NET)。該服務將接受來自Ajax的請求並將請求的內容保存到Temp文件夾中。

最後,您應該在網頁上創建一些Ajax以聯繫您的源服務器,並將您需要的數據檢索到本地Javascript對象(JSON適用於此處)。檢索完成後,您可以重新打包數據並將其發送到您的本地/目標服務器。該過程將由用戶訪問包含Ajax的網頁觸發。

總之,你可以可以用Javascript/Ajax/ASP.NET做到這一點,但如果你不知道你的用戶將會是誰,因爲他們需要有一個本地的web服務設置將文件保存到本地文件系統。

您無法使用Javascript直接寫入用戶文件系統的原因是因爲在網絡瀏覽器中執行時,Javascript是sandboxed