代码之家  ›  专栏  ›  技术社区  ›  Slavo

如何将文件从ASP.NET上载到其他Web应用程序

  •  4
  • Slavo  · 技术社区  · 17 年前

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

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

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

    4 回复  |  直到 17 年前
        1
  •  4
  •   HectorMac    17 年前

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

    • 将上载的文件保存到 服务器。
    • 在任意 需要公开 指向物理路径的文件。
    • 在数据库中保存虚拟路径以实现灵活性
        2
  •  2
  •   Erikk Ross    17 年前

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

        3
  •  0
  •   MBoy    17 年前

    我能问一下你为什么不把文件保存在数据库里吗?这将使传递更容易。

        4
  •  0
  •   roryf    17 年前

    假设您在数据库中放置的文件路径可以从非管理员Web应用程序(听起来像是)访问,那么该文件只需要转到两个应用程序都有访问权限的地方。只有管理应用程序需要具有写访问权限。

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