以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}
通过这种方式,你可以创建一个服务器端转换
感谢@krystiangw,这是非常有用的了解,但我m不知道如何回顾性地将JS应用于已经上传的大量图像?当您使用REST的转变,我希望会有一个命名(如mypic_w100_h200_compressTrue.jpg)或转换的URL策略(如/resize/100/200/compress/true/mypic.jpg),这是通过相当于在参数。但我猜这是不可能的? – 2014-10-31 07:31:48
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