Imagemagick 与 Meteor 集成
Posted
技术标签:
【中文标题】Imagemagick 与 Meteor 集成【英文标题】:Imagemagick integrated with Meteor 【发布时间】:2013-11-14 20:46:41 【问题描述】:我正在尝试使用 Imagemagick 来处理用户上传的图像。现在,我有一组简单的 Imagemagick.convert[ ] 命令服务器端可以对上传的图像执行各种任务。我的问题来自 Imagemagick 需要将文件数据读入流星而不是从 url。我最终要做的是将上传的文件写入 Imagemagick 能够操作图像的 /public 文件夹。然而,由于 Imagemagick.convert 命令列表(保存和写入 /public),应用程序不断刷新,分解进程并将其发送到无限刷新循环。我不认为资产是一个可行的解决方案,但我需要一些可以在流星中写入的文件夹,它不会通过刷新中断各种 Imagemagick 进程。我尝试将 .folder 用于隐藏文件夹,但流星给我一个错误:“您不能使用以点“.”开头的名称,因为这些名称是为系统保留的。请选择其他名称。”有什么想法吗?
【问题讨论】:
这个thread 表示在文件名末尾添加~
将防止文件更改重新启动。
您不应该在public
目录中操作您的文件。请改用您的系统tmp
,并仅将最终结果写入public
。
我也试过在末尾使用'~'。从我的流星服务器写入“tmp”的路径是什么?
我在流星的服务器文件中添加了一个 tmp~ 文件夹。效果很好,但是有这样一个文件夹是个好习惯吗?
【参考方案1】:
@Nate 我编写了一个小示例应用程序,通过使用 临时目录 解决了这个问题(正如其他人所建议的那样):
https://github.com/ideaq/image-uploads
我的解决方案给你:
轻松在任何 Meteor 应用中上传图片 图像大小调整为缩略图、移动优化和全尺寸原件 图像上传到 AWS S3 以进行 CDN 交付(可扩展性和速度) 图像的缩略图显示给用户无需刷新页面如果您发现了更好的在流星中上传图片的方法,请分享!谢谢。 :-)
【讨论】:
我喜欢!我正在使用 imagemagick 执行无法通过普通 js 完成的独特操作。但是对于存储文件,我建议使用 collectionFS。它建立在 mongo 的 gridFS 之上,并使用了流星收集方案。实施简单快捷。看看 (github.com/CollectionFS/Meteor-CollectionFS) 我看过collectionFS。考虑到大多数 MongoDB 托管服务提供商的存储空间是敲诈,在 Mongo 中存储图像并不是很经济。 mongohq.com/pricing 所以 S3 是处理大量数据的方法。并将 S3 url 存储在 DB 中。 这是非常正确的,并且要牢记在心。我会检查S3。这听起来是件好事。以上是关于Imagemagick 与 Meteor 集成的主要内容,如果未能解决你的问题,请参考以下文章