2017-01-07 7 views
1

検索後すべて私は疲れました 誰も私がポストメソッドが動作しない理由を教えてもらえますか?Content-Type:multipart/form-data in postman.Noteこれを追加することなく、すべてうまく動作します。ここで、ここで私のapp.jsエクスプレスポストメソッドはContent-Typeで動作しません:multipart/form-data

var app = express(); 
var apiRoutes = require('./routes/apiRoutes'); 
// view engine setup 
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'jade'); 
app.use(logger('dev')); 
app.use(bodyParser.json({limit: '50mb'})); 
app.use(bodyParser.urlencoded([{extended: false}, {limit: '50mb'}])); 
app.use(cookieParser()); 
app.use(express.static(path.join(__dirname, 'public'))); 
app.use(express.static(path.join(__dirname, 'uploads'))); 
app.use(multipart());; 
app.use(apiRoutes) 

であることは私のapiRoutes.js

var express = require('express'); 
var router = express.Router(); 
var fn = require('../webservices'); 
var multipart = require('connect-multiparty')(); 
router.post('/api/login', fn.test); 
module.exports = router; 

であり、ここで私のwebservices.js

function test(req,res){ 
    console.log("hello there"); 
} 
module.exports = { 
test 
} 

このショウエラー

TypeError例外です。 this [(visit + node.type)]は関数ではありません

がObject.visitでObject.visitNode(/home/ais/Acruss-NodeJs/node_modules/jade/lib/compiler.js:225:37) でhttps://github.com/jadejs/jade/issues にこの全体のエラーとスタックトレースを報告してください(/ホーム/ ais/Acruss-NodeJs/node_modules/jade/lib/compiler.js:212:10) at Object.visitBlock(/home/ais/Acruss-NodeJs/node_modules/jade/lib/compiler.js:295:12) Object.visitNodeで(/ home/ais/Acruss-NodeJs/node_modules/jade/lib/compiler.js:225:37) (Object.visit) .js:212:10) at Object.compile(/home/ais/Acruss-NodeJs/node_modules/jade/lib/compiler.js:66:10) at parse(/ home/ais/Acruss-NodeJs/node_modules /jade/lib/index.js:114:19) at Object.exports.compile(/ home/a/Acruss-NodeJs/node_modules/jade/lib/index.js:205:16) at handleTemplateCache(/home/ais/Acruss-NodeJs/node_modules/jade/lib/index.js:174:25) atオブジェクト.exports.renderFile(/home/ais/Acruss-NodeJs/node_modules/jade/lib/index.js:380:10)

+0

なぜmultipart/form-dataを使用しますか?任意のファイルをアップロードしますか? – farhadamjady

+0

はい、私はファイルのアップロードを望んで、またアプリケーションの開発者は、アップロード時またはアップロードなしでアップロードするかどうかを私に教えます – shivshankar

+0

multipart/form-dataを使うときは、フォームデータを扱うために明示的なmiddlwareを使用する必要があります。ファイルをアップロードするのが非常に簡単になります... @ shivshankar – farhadamjady

答えて

1

ので、FTPを使用するために必要なすべては、私はあなたがすることをお勧めします here

ですこれをお読みください

+0

ありがとう私はこれを試してみます。しかし、ファイルがない場合、ヘッダーのコンテンツタイプのマルチパート/フォームデータを設定し、ノードでこのようにする方法を設定したいと思います。 – shivshankar

+0

このヘッダーは、クライアント側から来るファイルに特殊なエンコーディングタイプを使用することを意味します。したがって、ファイルがない場合は、このヘッダ@shivshankarを使用しないでください。 – farhadamjady

関連する問題