【问题标题】:upload files to a different server将文件上传到不同的服务器
【发布时间】:2013-03-20 16:09:43
【问题描述】:

我的 Web 应用程序在服务器 D 上。所以我创建了一个具有文件上传控件的 Web 应用程序。我可以轻松地将任何文件上传到网络应用程序内的文件夹 (FILES)。

我现在的问题是:如何将相同的文件(从后面的代码)上传到我拥有的不同服务器 (SERVER T) 上的文件夹 (UPLOADS) 中?我还需要在 SERVER T 上读取、写入和修改该文件。请记住,我使用的是 Web 窗体而不是 Windows 窗体!!!

有人告诉我一些关于在服务器 T 上为服务器 D 上的 Web 应用程序创建一个网络服务帐户以使用并授予该帐户权限或类似内容的信息,但他也不知道详细信息。

是否有教程,指南,因为我确信有办法做到这一点......

此外,我在 Google 上只能找到使用 ftp 但仅适用于 Windows 窗体...

有点卡在这里......

【问题讨论】:

  • 目标服务器是否有原服务器可以访问的共享文件夹?
  • @DavidStratton 这假设服务器“了解”彼此,我总是说这篇文章演示了的方法;创建用于通信的中介向量,例如服务。
  • @Yahya,是的,你的问题。 2台服务器在同一个网络,可以互相访问 //ServerT //ServerD
  • @GrantThomas,虽然创建服务来处理文件操作是有用的建议,但服务链中的最后一个服务器将有同样的问题 - 文件存储在一台服务器上,与之交谈的服务是在另一个上(如果你做了适当的隔离)。所以我认为 David Stratton 链接到的 article 将为最后一段提供良好的起点。

标签: c# asp.net file-upload


【解决方案1】:

取自this blog post

我们可以做以下-

  1. 使用 c# 登录用户帐户
  2. 冒充登录用户
  3. 使用 System.IO.File.Copy 复制文件

【讨论】:

    【解决方案2】:

    如果您需要读取/写入/更改网络文件夹中的文件,您可以试试这个:

    Open IIS > Application Pools 
                > Select Application pool of the site
                  > Advanced Options
                    > Process Model > Select Identity
    

    现在您应该知道应用程序池帐户了。最后确保该帐户确实具有SERVER T\UPLOADS 文件夹所需的权限。

    【讨论】:

    • 注意:如果网站使用了模拟,它将无法正常工作。
    • ?如果我的评论看起来像“你的答案是错误的”,我很抱歉——我只想提醒未来的读者,这种方法可能不会立即适用于网站。模拟/“NTLM one-hop-hell”已经非常困难,因此在某些解决方案不适用时注意可能会很有用。
    • @AlexeiLevenkov,啊,……没关系。随时欢迎提供额外信息!
    • +1 - 实际上这是一种不同的安全方法,可以让凭据与其他 Windows 服务器通信(假设一个只需要一组凭据 - 即与单个数据库/文件共享通信)。正如我所指出的 - 如果网站使用模拟,则需要做更多的工作才能恢复模拟以作为进程帐户运行。
    • @Kaf 在选择身份下拉菜单中只有 3 个选项:网络服务、本地服务和本地系统。我选择了网络服务,然后我确保该文件夹在安全选项卡中具有具有完全权限的网络服务组/用户。但是我的 err.Message 中仍然出现同样的错误:访问路径 '\\ServerT\Uploads\file.dbf 被拒绝'。当我在本地主机上运行它时,一切正常...
    【解决方案3】:

    一个非常简单的解决方案是简单地将文件ftp到新服务器,这里是一个例子

    http://www.codeproject.com/Articles/343913/Simple-FTP-library-in-Csharp

    或者在这里向另一台服务器发送 http 帖子是一个 SO 问题,对此有一个不错的答案

    FileUpload to FileStream

    一旦文件在另一台服务器上,将更新/修改/等工作推送到另一台服务器

    【讨论】:

      猜你喜欢
      • 2011-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-28
      • 1970-01-01
      • 2020-10-14
      • 1970-01-01
      相关资源
      最近更新 更多