stackoverflow에서 답변을 많이 읽었지만 며칠 후에도 제대로 작동하지 않습니다. 표현과 노드가있는 첫 주입니다. 그래서 제가 작은 일을 제대로하고 있는지 알 수 없습니다. 기본적으로 파일을 업로드하고 나중에 파일 시스템에 저장하려고하지만 req.files를 사용하여 정의되지 않은 상태로 진행할 수 없습니다. 아래 내 코드를 참조하십시오.express js에서 파일 업로드시 다시 문제가 발생합니다
이는 /이 내 경로 내 app.js
var express = require('express');
var path = require('path');
var favicon = require('static-favicon');
var logger = require('morgan');
var routes = require('./routes/index');
var users = require('./routes/users');
var upload = require('./routes/upload.js');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(favicon());
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/users', users);
app.use('/upload', upload);
/// catch 404 and forward to error handler
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
/// error handlers
// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
module.exports = app;
입니다 upload.js
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res) {
console.log("");
console.log(req.files);
res.send('this is the page you get upon doing file upload');
});
module.exports = router;
이 내 의견/homepage.jade입니다
doctype html
html
head
title= title
link(rel='stylesheet', href='/stylesheets/style.css')
body
p select file to upload
form(action="upload", method="get", enctype="multipart/form-data")
input(type="file", name="displayImage")
input(type="submit")
현재 multer, connect-busboy, bodyParser와 같은 용어는 express4 등에서 더 이상 사용되지 않지만 계속 진행하는 방법에 대해서는 전혀 알지 못합니다. 진행 방법과 추가 할 코드에 대해 알려주십시오.
감사합니다.
예를 들어 주셔서 감사합니다. 얼마나 유용했는지 말할 수는 없습니다. 나는 며칠 동안 bodyParser와 같은 것들을 시도했지만 아무런 운이 없었습니다. 나는 나중에 가서 다른 이미지 디렉토리 등등에 파일을 저장하는 코드를 수정했습니다. 다시 한 번 감사드립니다 :) – IAMTubby