我以前使用slingshot
并且过程非常简单:我们上传图片并返回s3存储桶的上传网址。
现在我想调整图像大小并需要对图像执行一些操作,因此我切换到cfs:s3
包。但是当我尝试上传图片时,它会返回一些没有网址的记录,而在数据库中它会将其存储为:
{
"_id" : "Rwa7Xo65pv6cAP2aY",
"copies" : {
"thumbs" : {
"name" : "306032-facebook.jpg",
"type" : "image/jpeg",
"size" : 4262,
"key" : "thumbs/Rwa7Xo65pv6cAP2aY-306032-facebook.jpg",
"updatedAt" : ISODate("2015-02-14T06:44:04.476Z"),
"createdAt" : ISODate("2015-02-14T06:44:04.476Z")
}
},
"original" : {
"name" : "306032-facebook.jpg",
"updatedAt" : ISODate("2015-01-30T09:48:58.000Z"),
"size" : 4262,
"type" : "image/jpeg"
},
"uploadedAt" : ISODate("2015-02-14T06:43:59.062Z")
}
如何从此记录中获取网址? (我猜大概是key
)是否将我的服务器网址链接到亚马逊s3网址?
此方法优于slingshot
?
我如何知道上传完成?我无法找出任何ui助手,是否有任何反应助手来跟踪下载百分比?
答案 0 :(得分:0)
像这样的东西
Template.registerHelper('THUMBS_URL', function(key){
return S3_ENDPOINT + key;
})
我还没有使用过弹弓,所以无法评论它。
collectionFS中有一个isUploaded helper函数。
https://github.com/CollectionFS/Meteor-CollectionFS#isuploaded