Я использую плагин CKEditor для загрузки изображений в приложение OpenShift, но приложение не будет загружать файлы. Он работает нормально локально, но я не могу определить, что вызывает проблему. Похоже, что он не может найти каталог.Не удалось загрузить файл на OpenShift
==> приложение корень/журналы/nodejs.log < == POST/загрузчиком CKEditor = содержание & CKEditorFuncNum = 1 & LangCode = еп - - мс - - новый путь:/вар/Библиотека/OpenShift /57cdb2770c1e660d0b000003/app-root/runtime/repo/routes/../public/uploads/test.jpg
{ERR: {[Error: ENOENT, откройте «/ Var/Библиотека/OpenShift/57cdb2770c1e660d0b000003/app- root/runtime/repo/routes /../ public/uploads/test.jpg '] errno: 34, code:' ENOENT ', путь:'/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;
Yup. Это была проблема. Когда я удалил файлы из каталога локальных загрузок, он удалил его из OpenShift. Я не думал, что это так. Спасибо за быстрый ответ! – user3183411