2014-10-28 41 views
0

因此,在通過Filepicker成功上傳圖像後,我們訪問給定URL處的圖像,並在大多數地方撥打轉換爲傳入的一些參數。我們使用Amazon S3 Cloudfront作爲文件選擇器前面的CDN作爲文件選擇器狀態轉換不適用於高流量網站 - 不夠公平。Filepicker.io:Pagespeed並從靜態資源中刪除查詢字符串

,我要和轉換經歷是,雖然它釘我們的網頁加載速度和我們得到消息「消除靜態資源的查詢字符串」爲我們所有的Filepicker文件的問題。

的原因警告?「有資源‘’在URL中不被某些代理緩存服務器緩存。」

有沒有辦法避免使用查詢參數,同時仍保留轉換功能的能力?

我很想提高我的PageSpeed,但不能看到,而仍然使用Filepicker解決這一具體問題。

回答

0

以REST類似的轉換存在的JavaScript filepicker.convert方法,該方法返回新的文件的鏈接。

var blob = { 
    url: 'https://www.filepicker.io/api/file/H7KYuWy1S3e1qvG2M66i', 
    filename: 'customers.jpg', 
    mimetype: 'image/jpeg', 
    isWriteable: false, 
    size: 629454 
}; 

filepicker.convert(
    blob, 
    { 
    width: 200, 
    height: 200 
    }, 
    function(converted_Blob){ 
    console.log(converted_Blob.url); 

    } 
); 

另一個解決方案是存儲轉換REST結果。

捲曲例如:

curl -X POST -d url="https://www.filepicker.io/api/file/H7KYuWy1S3e1qvG2M66i/convert?w=100" "https://www.filepicker.io/api/store/S3?key=yourApiKey&container=yourContainerName" 

樣本響應:

{"container": "yourContainerName", "url": "https://www.filepicker.io/api/file/383MY1piRQqTg1N9K5tw", "filename": "IMAG0038.jpg", "key": "XNeqfiMaRlm4OMAQIJ9y_IMAG0038.jpg", "type": "image/jpeg", "size": 1763} 

通過這種方式,你可以創建一個服務器端轉換

+0

感謝@krystiangw,這是非常有用的瞭解,但我m不知道如何回顧性地將JS應用於已經上傳的大量圖像?當您使用REST的轉變,我希望會有一個命名(如mypic_w100_h200_compressTrue.jpg)或轉換的URL策略(如/resize/100/200/compress/true/mypic.jpg),這是通過相當於在參數。但我猜這是不可能的? – 2014-10-31 07:31:48

+0

1.我假設你將文件列表保存在數據庫中。你必須迭代拋出所有文件來轉換它。 2.您可以將S3路徑設置爲您的文件。例如:curl -X POST -d url =「https://www.filepicker.io/api/file/H7KYuWy1S3e1qvG2M66i/convert?w=100」「https://www.filepicker.io/api/store/S3?鍵= YourApikey&路徑=寬度/ 100/filename.jpg – krystiangw 2014-10-31 10:54:28