我将 Meteor 和 CollectionFS 与 S3 一起使用,以使用不同的商店为同一集合中的缩略图和全尺寸图像提供服务。我想在“dblclick”事件时下载全尺寸图像。
var src = fileRecord.url({
store: 'images',
download: true
});
var a = $('<a>');
a.attr('href', src); // canvas.toDataURL(viewerImageObject.original.type);
a.attr('download', fileName); // canvas.toDataURL(viewerImageObject.original.type);
a.appendTo(document.body);
a.trigger('click');
不幸的是,当该事件触发时,前端集合中的所有项目都将被删除——通过一个简单的 {{#each}} 块帮助器在由 collection.find() 返回的游标上呈现。这在后端不是持久的,只有前端。
一周前我为此提交了 CollectionFS 票,我一直试图将其分开但无济于事。我也意识到我可以使用 FileSaver.js 和 Canvas,但在移动设备和大图像上,尤其是在 polyfill 浏览器上,这会变得非常繁重。
如何防止我的收藏中的项目在下载图像时被删除?