如何从远程计算机读取文件?

时间:2009-11-09 10:33:16

标签: asp.net

如何使用Javascript或Ajax从远程计算机(来自IIS6.0虚拟目录)读取文件中的文本,并将其复制到客户端计算机“TEMP /指定”文件夹中。

由于 Sudhakar

3 个答案:

答案 0 :(得分:1)

由于相同域策略,您无法使用JS从远程计算机读取文件。您必须向打开页面的同一服务器执行Ajax请求,服务器必须使用PHP或您正在使用的任何后端语言从其他服务器获取文件 - 任何没有相同域的内容策略 - 然后使用您获取的文件的内容回答Ajax调用。

编辑:当然在客户端机器上编写文件也是不可能的,并且没有解决方案

答案 1 :(得分:0)

在客户端计算机上设置ftp服务器(或ssh守护程序)可能有所帮助。然后对asp.net / PHP脚本执行JS请求,以启动ftp copy(或ssh copy)进程到客户端服务器。

答案 2 :(得分:0)

可以使用Javascript / Ajax和服务器端语言来实现这一点,但我们必须在开始之前做出一些假设: -

  1. 该过程将由用户的网络浏览器触发
  2. 源服务器和目标服务器(远程和本地)上都有Web服务器
  3. 源服务器是“远程计算机(来自IIS6.0虚拟目录)”
  4. 目标服务器是用户的计算机
  5. 用户已知并且在其计算机上设置了目标Web服务
  6. 首先,您可以在源服务器上设置Web服务(使用ASP.NET)。该服务将接收来自Ajax的请求并返回相关文件的内容。

    其次,您可以在目标服务器上设置Web服务(使用ASP.NET)。该服务将接受来自Ajax的请求,并将请求的内容保存到Temp文件夹中。

    最后,您应该在网页上创建一些Ajax以联系您的源服务器,并将您需要的数据检索到本地Javascript对象中(JSON在这里运行良好)。检索后,您可以重新打包数据并将其与Ajax请求一起发送到本地/目标服务器。访问包含Ajax的网页的用户将触发此过程。

    总之,可以使用Javascript / Ajax / ASP.NET执行此操作,但如果您不知道您的用户将是谁,那么它就不是理想的,因为他们需要拥有本地Web服务设置将文件保存到本地文件系统。

    您无法使用Javascript直接写入用户文件系统的原因是因为在Web浏览器中执行时Javascript为sandboxed