注意:我对API,JSON,REST等缺乏经验。
我正在尝试将FilePreviews实施到我的网站中。其目的是获取任何文件类型的URL并将其转换为JPG或PNG。
的JavaScript
var previews = new FilePreviews({
debug: true,
apiKey: 'MY_API_KEY'
});
var url = 'http://i.imgur.com/HQB8wtI.jpg';
var options = {
size: {
width: 100,
height: 999
},
metadata: ['exif', 'ocr', 'psd'],
format: 'jpg'
};
previews.generate(url, options);
开发人员的应用程序收到了该请求。以下结果显示在开发人员应用程序的站点仪表板中:
{
"preview": {
"resized": true,
"size": {
"height": "178",
"width": "100"
},
"page": 1,
"url": "https://s3-us-west-2.amazonaws.com/[removed for privacy]/ec210ecf45d9d190539a241462c621f75adf2d4f835fb394a8d738d09fd412d6/HQB8wtI_100x999_1.jpg",
"requested_size": "100x999",
"original_size": {
"height": "1024",
"width": "576"
}
},
"id": "25841aca-e176-4cf7-ac1d-b01ce604a765",
"user_data": null,
"status": "success",
"url": "https://api.filepreviews.io/v2/previews/25841aca-e176-4cf7-ac1d-b01ce604a765/",
"thumbnails": [
{
"resized": true,
"size": {
"height": "178",
"width": "100"
},
"page": 1,
"url": "https://s3-us-west-2.amazonaws.com/[removed for privacy]/ec210ecf45d9d190539a241462c621f75adf2d4f835fb394a8d738d09fd412d6/HQB8wtI_100x999_1.jpg",
"requested_size": "100x999",
"original_size": {
"height": "1024",
"width": "576"
}
}
],
"original_file": {
"metadata": {
"ocr": null,
"psd": null,
"exif": null
},
"size": 82022,
"extension": "jpg",
"total_pages": 1,
"encoding": "binary",
"name": "HQB8wtI",
"mimetype": "image/jpeg",
"type": "image"
}
}
我的问题是:如何将文件预览的网址添加到我的网站中?每个文件都是动态引用的,我网站的大部分区域都会有很多页面。 FilePreviews在AWS S3上生成文件夹的方式似乎没有一致性,所以我甚至无法使用聪明的PHP修复来解决它。
有人愿意帮助并向我展示这个编程世界的方式吗?
答案 0 :(得分:1)
我没有使用FilePreviews的经验,但这是我期望它应该工作的方式。
首先,在HTML中,在要显示缩略图的位置添加图像标记。给它一个id,例如" thumb":
<img id="thumb"/>
然后,修改脚本的最后一行,如下所示:
previews.generate(url, options, onPreviewReceived);
第三个参数是一个回调函数,我们必须在脚本的其他地方定义。我在onPreviewReceived上调用它,但你可以选择自己的名字。收到结果时调用它。您可以按如下方式定义回调函数:
function onPreviewReceived(err, result) {
if (!err) {
var thumbnailUrl = result.thumbnails[0].url; // but see assumption
document.getElementById("thumb").setAttribute("src", thumbnailUrl);
}
}
此函数将从结果中获取的url分配给img标记的src属性。
假设:我希望&#39;结果&#39;如你的问题所述。但是,the client library documentation表示您将获得不同的结果,并且您应该使用这样的thumbnailUrl分配:
var thumbnailUrl = result.previewUrl;
所以请尝试一下。