在一台服务器上上传表单数据,在另一台服

时间:2014-01-14 10:09:28

标签: apache2 php upload image imagemagick

在用户上传图像以及image_title,user_id等文本数据的网站(如社交网络)上;使用Apache,PHP,MySQL ......

在提交的表单上,我希望默认情况下将所有图像上传到专用图像服务器。我不确定做什么是最佳做法 ......

是否可以使表单在两个不同的服务器上发送数据?这是一个好习惯吗?我看到它可以在提交第二个表单时触发submit()

我也可以在主站点的服务器上传然后移动图像但是这样会违反专用图像服务器的目的,我还要从主站点取消传入的流量负载。

不是两种形式,首先上传图像,获得“确定”回复,然后提交文本数据是一个好习惯吗?

我不喜欢Amazon S3,尝试过,从我的测试中来看太慢了。

2 个答案:

答案 0 :(得分:1)

有三种选择:

  1. 使用拆分的ajax请求上传表单和图片。也许如果你有两个不同的服务器(表单服务器,图像服务器),你需要在其中一个服务器上使用跨域服务来重定向该流量。在客户端无法从jquery / javascript ajax调用不同的服务器。

  2. 实现能够接收(形式,图像)和共享数据的服务。将formular转发到server1并在server2上放置图像

  3. 执行请求序列..首先提交,例如公式到你的后端。如果回叫是OK,则通过例如发送图像来发送图像。 cross_domain.php(请参阅选项1)到您的专用图像服务器..

  4. 恕我直言,没有办法将数据从客户端发送到多个服务器,而无需通过后端重定向流量!

答案 1 :(得分:0)

我不会将提交分成两个提交到不同的服务器。我认为这不会违反专用图像服务器的目的来处理不同服务器上图像的上传/验证。如果你需要一个专用的图像服务器,我相信图像服务器最常见的就是通过http提供静态文件。 根据我的经验,s3非常适合这个目的。如果真的对你慢,请看看云端!另一种方法是使用nginx或lighttp的单独服务器,可能在前面使用清漆,该服务器针对提供静态图像文件进行了优化。

在您尝试将单个表单POST的上传/验证或甚至仅将图像POST分离到其他服务器之前,我宁愿尝试将整个服务扩展到多个服务器上。

相关问题