2014-02-17 59 views
-1

我们已经购买了许可证,今天我们正在致力于实施Salesforce上的Fine Uploader插件,并解决了AJAX请求应该从javascript执行到Salesforce的技术问题。Fine-Uploader Salesforce支持

这里是我们做FO远步骤: 我们创建的测试visualforce页https://c.XX.visual.force.com/apex/s3_fine_uploader 我们必须提供精细上传将由精细上传代码HTTP请求 的Salesforce允许我们编写REST调用的端点API来处理POST请求,我们为此创建了apex类'S3_Fine_Uploader_Service'。该SFDC终点是http://XX.salesforce.com/services/apexrest/S3_Fine_Uploader_Service 由于域是不同的,我们不能让这种整合,而不招或变通方法

我们的愿景是,我们有两个选择,都取决于精细上传代码,并要求在JavaScript中的变化码。这两个选项都适用于我们。 a)要求Fine Uploader团队允许我们选择请求方法。这将允许我们将其更改为“GET”,然后我们将以Visualforce页面+控制器的形式处理该请求。 b)请Fine Fine Uploader团队用回调javascript方法执行替换端点请求。

此问题特定于Salesforce,因为我们不控制Visualforce和API服务的域命名。

+0

恐怕我根本不理解你的问题。你有什么具体问题? –

+0

对不起,我的第一篇文章。 我们使用salesforce.com作为服务器端,我们希望使用fine-uploader将文件上传到Amazon S3。 为此,我们创建了APEX类来处理罚款上传POST Ajax请求。但是Visualforce页面和apex restapi类放置在不同的域上,当我们尝试签署上传数据时,我们遇到了CORS错误。 我们还购买了支持门票的罚款上传许可证,但我们不知道如何在您的网站上使用此功能。 我们如何才能与您的支持团队联系来解决我们的问题? –

回答

0

如果您的签名服务器位于与托管上传页面的页面不同的域中,则必须将cors.expected选项设置为true。您的服务器还需要正确实施CORS规范。 Fine Uploader完全支持CORS,但您的服务器必须保持其合同结束。

您的服务器需要处理浏览器为每个跨源签名请求发送的OPTIONS(预检)请求,以及底层的跨源POST。

幸运的是,实现CORS服务器端相当简单。我们甚至创建了an S3 signature endpoint handler in PHP that demonstrates this

+0

是的。我们将fine-uploader CORS选项设置为true。但是目前salesforce restapi不支持CORS和OPTIONS请求(只有GET,POST,PUT,DELETE)。 我们被要求优秀的上传者团队为我们实施以下案例:a)允许我们选择请求方法。这将允许我们将其更改为“GET”,然后我们将以Visualforce页面+控制器的形式处理该请求。 b)用回调javascript方法执行替换端点请求。 我们能做到吗? –

+0

目前都不支持。第二个选项可能永远不会被支持,但是我们可以允许签名请求成为GET。但是,无论哪种方式,如果Salesforce不支持CORS,则更改请求方法不会为您解决此问题。 –

+0

如果我们将POST更改为GET,我们可以在没有CORS的情况下处理这些请求,因为端点与上载页面位于相同的域。 –