2014-02-17 119 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的情況下處理這些請求,因爲端點與上載頁面位於相同的域。 –