我正在使用CKEditor插件将图像上传到我的OpenShift应用程序,但应用程序不会上传文件。它在本地很好地工作,但我无法确定是什么导致了问题。它似乎无法找到目录。无法在OpenShift上传文件
==>应用程序根/日志/ nodejs.log < == POST /上传的CKEditor =内容& CKEditorFuncNum = 1 &的langCode = EN - - 质谱 - - 新路径:在/ var/lib中/ openshift /57cdb2770c1e660d0b000003/app-root/runtime/repo/routes/../public/uploads/test.jpg
{ERR: {[错误:ENOENT,开放式“的/ var/lib中/ openshift/57cdb2770c1e660d0b000003/APP- root/runtime/repo/routes /../ public/uploads/test.jpg'] errno:34, code:'ENOENT', path:'/ var/lib/openshift/57cdb2770c1e660d0b000003/app-root/runtime /repo/routes/../public/uplo ads/test.jpg'}}
这是处理上传的路由。
var express = require('express');
var router = express.Router();
var multipart = require('connect-multiparty');
var multipartMiddleware = multipart();
var fs = require('fs');
router.post('/', multipartMiddleware, function(req, res) {
fs.readFile(req.files.upload.path, function(err, data) {
var newPath = __dirname + '/../public/uploads/' + req.files.upload.name;
console.log('new Path:', newPath);
fs.writeFile(newPath, data, function(err) {
if (err) console.log({
err: err
});
else {
html = "";
html += "<script type='text/javascript'>";
html += " var funcNum = " + req.query.CKEditorFuncNum + ";";
html += " var url = \"/uploads/" + req.files.upload.name + "\";";
html += " var message = \"Uploaded file successfully\";";
html += "";
html += " window.parent.CKEDITOR.tools.callFunction(funcNum, url, message);";
html += "</script>";
res.send(html);
}
});
});
});
module.exports = router;
是的。这是问题所在。当我从本地上传目录中删除文件时,它将它从OpenShift中删除。我不认为它会这样做。感谢您及时的回复! – user3183411