2014-10-28 42 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

相关问题