首页 文章

如何使用ASP.NET将文件从一台计算机移动到另一台计算机?

提问于
浏览
0

假设我有一个网站,一旦用户选择了几个选项,就会发生以下情况:

  • 从本地机器中获取文件(在目录中) - 到目前为止工作正常

  • 将它们移动到远程服务器 - 这是我需要帮助的地方

细节:

  • 将通过UNC路径(\ servername \ xyz)找到远程服务器

  • 我可以访问用户名/密码来访问该UNC路径,但由于我们处于不同的域并且我不做决定,因此我不能让一个用户在这两个域中拥有权限 .

如何设置我的网站来执行此操作?如果我冒充,那么我可能会失去在本地计算机上抓取文件的权限......

注意:我也有远程服务器的FTP访问权限 . 如果有一个很好的FTP API我可以使用,那也可以,但我不想迭代每个文件 .

哦,这也是.NET 1.1 .


这是对相关问题的建议:Need to Impersonate user forAccessing Network resource, Asp.Net Account

2 回答

  • 1

    这可以使用unc或ftp来完成 . 对于较早的(unc),您可以使用File.Copy(source,target) - 对于后者,您可以使用几种技术 . 如果您在远程站点上存储用户想要的机器,您可以使用webclient(System.Net.WebClient)通过任何可访问的URL下载文件(即:在IIS中打开文件浏览) .

    如果你可以使用.NET 2.0,你可以选择更可靠的对象(即:FtpRequest) - 为什么你不能使用.NET 2.0会有共鸣吗?

  • 2

    我以前做过这个跨领域 . 您所需要的只是用户名和密码相同,这将起作用,即使它们位于不同的域中 . 要确保的是,您的.NET应用程序正在以此用户身份运行 .

    例如:

    • 在域XYZ中有一个用户"filesynch",密码为"pass"

    • 在域PDQ中有一个用户"filesynch",密码为"pass"

    • 确保用户PDQ \ filesynch有权在PDQ域中的机器上共享

    • 在XYZ域中的计算机上以XYZ \ filesynch用户身份运行应用程序

    • 通过网络复制文件

相关问题