无法在 OpenShift 上上传文件
Unable to upload file on OpenShift
我正在使用 CKEditor 插件将图像上传到我的 OpenShift 应用程序,但该应用程序不会上传文件。它在本地运行良好,但我无法确定导致问题的原因。好像找不到目录。
==> app-root/logs/nodejs.log <==
POST /uploader?CKEditor=content&CKEditorFuncNum=1&langCode=en - - ms - -
新路径:/var/lib/openshift/57cdb2770c1e660d0b000003/app-root/runtime/repo/routes/../public/uploads/test.jpg
{ 错误:
{ [错误:ENOENT,打开'/var/lib/openshift/57cdb2770c1e660d0b000003/app-root/runtime/repo/routes/../public/uploads/test.jpg']
错误号:34,
代码:'ENOENT',
路径:'/var/lib/openshift/57cdb2770c1e660d0b000003/app-root/runtime/repo/routes/../public/uploads/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 是如何工作的,但也许您没有将 public/uploads 目录添加到 project/repo/however 它安装在 OpenShift 服务器中。
我正在使用 CKEditor 插件将图像上传到我的 OpenShift 应用程序,但该应用程序不会上传文件。它在本地运行良好,但我无法确定导致问题的原因。好像找不到目录。
==> app-root/logs/nodejs.log <== POST /uploader?CKEditor=content&CKEditorFuncNum=1&langCode=en - - ms - - 新路径:/var/lib/openshift/57cdb2770c1e660d0b000003/app-root/runtime/repo/routes/../public/uploads/test.jpg
{ 错误: { [错误:ENOENT,打开'/var/lib/openshift/57cdb2770c1e660d0b000003/app-root/runtime/repo/routes/../public/uploads/test.jpg'] 错误号:34, 代码:'ENOENT', 路径:'/var/lib/openshift/57cdb2770c1e660d0b000003/app-root/runtime/repo/routes/../public/uploads/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 是如何工作的,但也许您没有将 public/uploads 目录添加到 project/repo/however 它安装在 OpenShift 服务器中。