찾다

 >  Q&A  >  본문

node.js - express 4.x版本post请求

最近才开始看node,看教材(一个上传图片的表单)的时候遇到了一个问题。
表单模板(upload.ejs)

<h1><%= title %></h1>
<form action="post" enctype="multipart/form-data">
    <input type="text" name="photo[name]" placeholder="your name">
    <input type="file" name="photo[image]"/>
    <input type="submit" value="upload"/>
</form>

配置路由

教材(photos.js):

exports.form = function(req, res) {
    res.render('photos/upload', {
        title: 'photo uploads'
    });
}

教材(app.js):

app.get('/upload', photos.form);
app.post('/upload', photos.submit(app.get('photo')));

自己(photos.js)

const express = require('express');
const router = express.Router();

router
    .get('/upload', (req, res, next) => {
        res.render('photos/upload',{
            title: 'photo uploads'
        });
    })
    //.post('./upload', photos.submit(router.get('photo')));

module.exports = router;

自己(app.js)

var photos = require('./routes/photos');

app.use('/', photos);

//处理照片提交代码
...

在注释掉post的时候,localhost:~/upload是没有问题的,可以看到上传表单的页面,但是去掉post前面的注释的时候,报错提示submit不是一个函数,不知道这个地方怎么写.

app.post('/upload', photos.submit(app.get('photo')));

意思是点击submit后,路由定义到photo页面吧

怪我咯怪我咯2785일 전359

모든 응답(2)나는 대답할 것이다

  • 大家讲道理

    大家讲道理2017-04-17 16:30:55

    사진에 제출 기능을 정의하셨나요?

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 16:30:55

    게시물 링크에 [.]가 없잖아요?

    으아악

    exports.form 또는 imports.from?

    으아악

    회신하다
    0
  • 취소회신하다