2013-11-14 5 views
2

Я пытаюсь использовать Imagemagick для управления изображениями, которые загружаются пользователем. Прямо сейчас у меня есть простой набор серверных команд команд Imagemagick.convert [], которые формируют множество задач на загруженном изображении. Моя проблема исходит от Imagemagick, нуждающегося в том, чтобы данные файла считывались в метеор, а не с URL-адреса. То, что я делаю, это записать загруженный файл в/общую папку, где Imagemagick способен манипулировать изображением. Однако, поскольку список команд Imagemagick.convert (сохранение и запись в/public), приложение продолжает обновлять, разбивать процессы и отправлять их в бесконечный цикл обновления. Я не думаю, что активы - это жизнеспособное решение, но мне нужна папка, в которую я могу писать в метеор, которая не будет прерывать различные процессы Imagemagick через обновление. Я пробовал папку для скрытой папки, но метеорит дает мне ошибку: «Вы не можете использовать имя, начинающееся с точки». », Потому что эти имена зарезервированы для системы. Выберите другое имя». Есть предположения?Imagemagick интегрирован с Meteor

+0

Эта [тема] (http://stackoverflow.com/questions/19961296/meteor-write-file-on-meteor-com) говорит, что добавление '~' в конец имени файла предотвратит перезапускается для изменения файла. – user728291

+0

Вам не следует манипулировать вашими файлами в директории 'public'. Вместо этого используйте вашу систему 'tmp' и только напишите в' public' окончательный результат. –

+0

Я также попытался использовать '~' в конце. Каким будет путь для записи в 'tmp' с моего метеоритного сервера? – Nate

ответ

0

@Nate я написал небольшой пример приложения, которое решает эту проблему с помощью временный каталог (как и другие предложили):

https://github.com/ideaq/image-uploads

Мое решение дает вам:

  • ПростойЗагрузка изображения в любые Метеор приложения
  • Изображений повторно размера для Thumbnail, Mobile Optimized и полноразмерной Оригинал
  • Изображений загружаются AWS S3 для CDN доставки (масштабируемость и скорость)
  • A thumbnail изображения отображаются пользователю без обновления страницы

Demo of the upload functionality

Если вы нашли лучший способ сделать загрузку изображений в метеор, пожалуйста, поделитесь! Благодарю. :-)

+0

Мне это нравится! Я использую imagemagick для выполнения уникальных манипуляций, которые не могут быть выполнены с помощью обычных js. Но для хранения файлов я бы рекомендовал collectionFS. Он построен из сетки mongo и использует схему сбора метеоров. Реализация осуществляется легко и быстро. Проверьте это (https://github.com/CollectionFS/Meteor-CollectionFS) – Nate

+0

Я посмотрел на collectionFS. Учитывая, что место для хранения большинства хостинг-провайдеров MongoDB является * extortionate *, хранение изображений в Монго не очень экономично. https://www.mongohq.com/pricing Итак, S3 - это способ использовать большие объемы данных. и просто хранить S3-url в БД. – nelsonic

+0

Это очень верно и что-то вызывающе помнить. Я проверю S3. Похоже, это хорошо. – Nate

Смежные вопросы