2009-08-18 113 views
0

我刚刚负责将网站的管理部分抽象到单独的(共享)托管计划中的单独域中。管理部分所做的一部分是上传图片以获取产品。既然这个管理部分不再是主要域的一部分,那么我怎样才能将产品从管理域上传到主域?如何将图像从一个域保存到另一个域

我正在使用ASP.NET/VB.NET。

感谢

编辑让我补充一点,这两个系统都在共享托管计划,所以我真的没有任何形式的映射驱动器或任何东西的能力。我正在寻找一种编程方式。有没有办法让一个站点“呼叫”另一个站点并告诉它哪些文件要保存到服务器上?

回答

2

如果它们位于同一个框中,您可以让一个站点写入其他站点的文件系统(给定正确的权限)。但是,这听起来像它不会在您的共享主机环境中工作,但。

否则,您可以提供主应用程序的URL以从管理应用程序加载图像,只需确保图像保存到公众可以访问的位置即可。

+0

所以没有办法实际上传图像到另一台主机? – Jason 2009-08-18 19:29:26

+0

这听起来像你想要的Server.Transfer()到另一个域,这根本不会工作。你可以将window.open()放到你的主站点上的一个处理文件上传的页面上,但是我觉得这会很糟糕。 – JMP 2009-08-18 19:31:06

+0

我可能必须解决kludge ... iframe可能会工作,我从主站点调用的页面,其工作是只上传图片? – Jason 2009-08-18 19:34:12

0

我还没有找到更优雅的解决方案,所以我希望你能得到比我更好的答案。我也不确定这是甚至可能根据您的设置。

我通常在这种情况下做的是做两个选项之一。两者都涉及将图像上传到服务器的网络驱动器映射到,然后将文件从管理站点复制到主站点。

要么我复制这些文件,只要他们上传,或我写一个单独的脚本来复制文件。可能的话,在管理员网站上,我会列出需要复制的文件,然后单击按钮执行复制。

编辑 - 事实上

这是定期来为我的挑战之一后增加。由于涉及额外的开销,我几乎从未将我的管理站点放在与主站点不同的服务器上。上述方法仅用于我绝对需要这样做的地方。

+0

我必须这样做,因为如果主站点发生故障,管理站点仍然可以运行。就像现在一样。 – Jason 2009-08-18 19:33:08

+0

您能否将网络驱动器从管理服务器映射到主站点服务器?如果是这样,我可以添加一个代码片段来澄清如何完成此操作。 – David 2009-08-18 19:36:16

+0

不幸的是,我没有服务器访问...都在共享框:\ – Jason 2009-08-18 19:37:26

2

您可以在管理域将调用的非管理域上设置web服务。所以,当你在管理上传新的图片你:

  • 选择要上传的文件
  • 提交表单(回发)在文件上传事件处理
  • ,在非管理员调用Web服务域名与必要的细节(名称,内容等)
  • 在web服务中,您保存文件,更新数据库等,并返回管理页面所需的任何数据,以知道图像存储在哪里
  • 管理页面继续处理

这远不像共享文件夹那么简单,但它可以工作。

节省共享服务器上的钱值得实施吗?谁知道...

+0

是的,这绝对是值得的。必须进行抽象。你有这样的代码片段可以工作吗?我不知道如何发布图像到另一个网站 – Jason 2009-08-18 19:50:53

+0

绝对是一种Web服务是去这里的方式 – Didaxis 2012-07-06 13:37:24

相关问题