Filepicker.io:Pagespeed并从静态资源中删除查询字符串

时间:2014-10-28 08:39:37

标签: pagespeed filepicker.io

因此,在通过Filepicker成功上传图片后,我们访问给定网址的图片,并且在大多数地方使用传入的一些参数调用 convert 。我们在filepicker前使用Amazon S3 Cloudfront作为CDN作为filepicker状态转换不适用于高流量网站 - 足够公平。

我遇到转换时遇到的问题是,它确定了我们的网页速度,我们正在收到消息"从静态资源中移除查询字符串"对于我们所有的Filepicker文件。

警告的原因是"资源带有"?" URL中的某些代理缓存服务器不会缓存它们。"

有没有办法避免使用查询参数,同时仍然保留转换功能的能力?

我很想改进我的网页速度,但在使用Filepicker时无法看到如何解决这个问题。

1 个答案:

答案 0 :(得分: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}

通过这种方式,您可以创建服务器端转换