【问题标题】:How to upload files from ASP.NET to another web application如何将文件从 ASP.NET 上传到另一个 Web 应用程序
【发布时间】:2010-09-13 23:34:10
【问题描述】:

我有一个场景,我需要从一个 Web 应用程序上传文件并在另一个应用程序中使用它。我的设置如下。

  • 一台服务器,在 IIS 中托管两个 Web 应用程序 - 都是 ASP.NET
  • 其中一个应用程序用于管理另一个应用程序 + 更多内容
  • 我需要从这个管理应用上传一个文件,通过 DAL 将路径保存在 DB 中,然后从另一个 Web 应用访问该文件,该应用将提供该文件以供下载
  • 我将文件保存在磁盘上,只有 DB 中的路径

那么我可以在哪里以及如何上传文件,以便可以从两个 Web 应用程序访问它?我应该使用服务还是有其他方式?
以下是我发现的一些相关问题,但我认为它们并未涵盖我的特定场景:
How to handle file uploads to a dedicated image server?
How to upload a file to a WCF Service?

【问题讨论】:

    标签: asp.net file upload


    【解决方案1】:

    由于两个应用程序都在同一台服务器上,这应该很简单:

    • 将上传的文件保存在某处 服务器。
    • 在任意位置创建一个虚拟目录 需要公开的应用程序 指向物理路径的文件。
    • 将虚拟路径保存在数据库中以获得灵活性

    【讨论】:

      【解决方案2】:

      假设您放入数据库的文件路径可以从非管理员网络应用程序访问(听起来确实如此),该文件只需要放在两个应用程序都有权访问的地方。只有管​​理员应用程序需要具有写入权限。

      您可以在 IIS 管理控制台的网站属性 > 目录安全下配置 IIS 网站运行的用户帐户。然后确保设置适当的目录权限。

      【讨论】:

        【解决方案3】:

        您可以在每个应用程序中设置一个新的虚拟目录,该目录指向服务器上将文件上传到的同一文件夹。假设您在 c: 驱动器上创建了一个名为“uploads”的新文件夹,即 c:\uploads。然后在 IIS 中设置一个名为“uploads”的新虚拟目录,该目录指向每个 Web 应用程序的 c:\uploads。这应该使两个站点都可以访问文件。

        【讨论】:

          【解决方案4】:

          请问您为什么不将文件保存在数据库中?这将使传递它更容易。

          【讨论】:

          • 因为数据库会变得臃肿,有时这是不可接受的。但这是另一个有很多争论的讨论。
          猜你喜欢
          • 2012-02-03
          • 2010-09-21
          • 2012-11-13
          • 2023-03-20
          • 2022-01-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多