2014-12-08 3 views
1

Создание документов Office в OpenXML. Часть процесса использует zip для объединения каталогов и файлов в архив. Это отлично работает локальноМожно запустить zip-процесс на Heroku?

var p = 'cd ' + target + '/; zip -r ../' + this.fname + ' .; cd ..;';  
    return exec.exec(p, function(err, stdout, stderr) { ... } 

Но терпит неудачу на Heroku кедра, с ошибкой /bin/sh: zip: not found. Вход в систему через оболочку (heroku run bash) и запуск ls /bin, похоже, что двоичный файл zip не существует. gzip есть, но думаю это другой.

Возможно ли запустить zip на Heroku из процесса оболочки? Из этой ссылки ниже кажется, что это должно быть возможно. (Эта статья использует Руби, я использую узел, но я думаю, что оболочка не должна заботиться, кто звонит его?)

Rails: How can I use system zip on Heroku to make a docx from an xml template?

ответ

1

Он говорит здесь

How to unzip files in a Heroku Buildpack

, что хотя Heroku Безразлично» t включает команду zip, доступна команда jar.

Однако, почему бы не использовать НПМ как этот для обработки файлов внутри самого приложения узла:

https://www.npmjs.org/package/zipfile

+0

Ага, не понял, ZIP был точно равен Jar для целей MSOffice. На данный момент сделан минимальный разрез, заменив 'zip -r ...' на 'jar -cfM ...' и который работает локально и на герою. – prototype

+0

Yup jar - это всего лишь почтовый файл. Рад помочь. –