2016-09-12 2 views
0

Я использую плагин 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;

ответ

0

Не знаю, как OpenShift работает, но, возможно, вы не добавить свой общедоступный каталог/дата загрузки для однако он получает установлен на серверах OpenShift проекта/репо /.

+0

Yup. Это была проблема. Когда я удалил файлы из каталога локальных загрузок, он удалил его из OpenShift. Я не думал, что это так. Спасибо за быстрый ответ! – user3183411

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