从云代工节点应用程序调用java命令

在我的应用程序中,我想将PDF文件转换为图像,但是看起来node.js中没有模块。 所以我想用java应用程序做这个工作。

我们可以在云代工节点应用程序中调用java命令吗?

谢谢。

香港

好的,我build立了一个快速的应用程序来完成这项工作。

app.js看起来像这样;

/** * Module dependencies. */ var express = require('express') , routes = require('./routes') , util = require('util') , fs = require('fs') , exec = require('child_process').execFile , http = require('http'); process.env.MAGICK_TMPDIR = __dirname + '/tmp' var app = express(); app.configure(function(){ app.set('port', process.env.VCAP_APP_PORT || 3000); app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser({uploadDir:__dirname + "/uploads"})); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(__dirname + '/public')); }); app.configure('development', function(){ app.use(express.errorHandler()); }); app.get('/', routes.index); app.post('/convert', function(req, res) { var pdf_file = req.files.pdf.path; var uploadsPath = __dirname + "/uploads" var filename = pdf_file.split("/")[pdf_file.split('/').length - 1] var out = __dirname + '/public/images/' + filename + '.png'; exec('convert', [pdf_file, '-append', out], function(err, stdout, stderr) { res.redirect('/images/' + filename + '.png'); }); }); http.createServer(app).listen(app.get('port'), function(){ console.log("Express server listening on port " + app.get('port')); }); 

索引视图看起来像这样(只是一个简单的多部分forms);

 <!DOCTYPE html> <html> <head> <title><%= title %></title> <link rel='stylesheet' href='/stylesheets/style.css' /> </head> <body> <h1><%= title %></h1> <form action="/convert" method="post" enctype="multipart/form-data"> <label>PDF File</label> <input type="file" name="pdf" /> <input type="submit" /> </form> </body> </html> 

这一切都适用于我的私人Cloud Foundry(VCAP)实例,但不在CloudFoundry.com,我认为这是由于权限问题。 我会和工程团队一起追查,看看是否可以用正确的权限调用ImageMagick。

=========

UPDATE

我已经修复了CloudFoundry.com的问题,它似乎停止使用/ tmp作为临时目录的ImageMagick env var MAGICK_TMPDIR必须设置,你可以在app.js文件的顶部看到这个。

我现在也转向图像,而不是阅读它,就像一个魅力! – http://pdf2png.cloudfoundry.com

====