FineUploader客户端/服务器代码位置

时间:2013-10-09 18:34:53

标签: cors fine-uploader

签名端点是否需要与客户端代码驻留在同一物理服务器上? 例如,我希望client.html驻留在apache webserver web.acme.com上。用于签名的servlet驻留在tomcat.acme.com上。

这是可接受的配置吗?

Ĵ

1 个答案:

答案 0 :(得分:0)

您在询问对cross-origin requests的支持。从版本3.3开始,Fine Uploader支持此功能。 documentation概述了为正确考虑跨域环境(例如您的环境)所必须执行的操作。您的服务器需要编码才能正确遵循CORS规范,这在IE9及更早版本中会变得有点棘手。 Github上的Fine Uploader Server存储库中有一个PHP示例,其中包含一个用于Fine Uploader S3的功能齐全的跨源感知服务器。如果我没记错的话,你使用的是Java,而且还没有支持CORS的Java示例。

要使Fine Uploader S3的跨源环境中的所有内容正常工作,您首先需要将cors optionexpected属性设置为true。在服务器端,您需要处理OPTIONS(预检)请求,并在OPTIONS和POST响应中返回正确的CORS头。如果您在跨域环境中使用delete file feature,则还需要覆盖method选项的默认deleteFile属性以“post”,如果您需要支持IE9和较旧(请注意,Fine Uploader S3中的allowXdr属性默认为true

我用Fine Uploader 3.3推出了blog post on CORS support。您可以将相同的概念应用于Fine Uploader S3。您还可以查看处理跨源环境中所有功能的Fine Uploader S3 PHP CORS example。事实上,live S3 demo on the home page在后端使用确切的PHP代码作为服务器部分,页面托管在不同的域上。