2014-10-28 3 views
0

Итак, после успешной загрузки изображений через Filepicker мы получаем образы по указанному URL-адресу и в большинстве случаев вызываем конвертировать с некоторыми переданными параметрами. Мы используем Amazon S3 Cloudfront как CDN перед файловым пиксером, поскольку состояния файлового дескриптора конвертер не предназначен для сайтов с высоким трафиком - достаточно справедлив.Filepicker.io: Pagespeed и удаляет строки запросов из статических ресурсов

Проблема, с которой я столкнулась с конвертированием, заключается в том, что она прибивает нашу скорость страницы, и мы получаем сообщение «удалить строки запроса из статических ресурсов» для всех наших файлов Filepicker.

Причина для предупреждения: «Ресурсы с«? »В URL-адресе не кэшируются с помощью некоторых серверов кэширования прокси».

Есть ли способ избежать использования параметров запроса при сохранении возможности функции преобразования?

Я хотел бы улучшить свои страницы, но не могу понять, как исправить эту проблему при использовании Filepicker.

ответ

0

Как и для REST convert, есть метод javacript 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 пример:

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), что было эквивалентно передаче в параметрах. Но я предполагаю, что это невозможно? –

+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