签名端点是否需要与客户端代码驻留在同一物理服务器上?例如,我希望 client.html 驻留在 apache 网络服务器 web.acme.com 上。用于签名的 servlet 驻留在 tomcat.acme.com 上。
这是可接受的配置吗?
j
签名端点是否需要与客户端代码驻留在同一物理服务器上?例如,我希望 client.html 驻留在 apache 网络服务器 web.acme.com 上。用于签名的 servlet 驻留在 tomcat.acme.com 上。
这是可接受的配置吗?
j
您正在询问对跨域请求的支持。Fine Uploader 从 3.3 版开始支持此功能。该文档概述了正确考虑跨域环境(例如您的环境)必须执行的操作。您的服务器需要进行编码以正确遵循 CORS 规范,这在 IE9 和更早版本中可能会有些棘手。Github 上的 Fine Uploader Server 存储库中有一个 PHP 示例,其中包括用于 Fine Uploader S3 的全功能跨域感知服务器。如果我没记错的话,您使用的是 Java,并且还没有支持 CORS 的 Java 示例。
要让 Fine Uploader S3 的跨域环境中的一切正常工作,您首先需要将选项expected
的属性设置为. 在服务器端,您需要处理 OPTIONS(预检)请求,并在 OPTIONS 和 POST 响应中返回正确的 CORS 标头。如果您在跨域环境中使用删除文件功能,如果您需要支持 IE9 及更早版本,您还需要覆盖选项的默认属性为“post”(注意该属性在 Fine Uploader S3 中默认为)。 cors
true
method
deleteFile
allowXdr
true
当它被 Fine Uploader 3.3 推出时,我写了一篇关于 CORS 支持的博客文章。您可以将相同的概念应用于 Fine Uploader S3。您还可以查看处理跨域环境中所有功能的Fine Uploader S3 PHP CORS 示例。事实上,主页上的实时 S3 演示使用后端上的确切 PHP 代码作为服务器部分,并且页面托管在不同的域上。