我從express 3 module multipart收到錯誤{ [Error: unknown transfer-encoding] status: 400 }
。這聽起來像TE
標題應該發送 - 它不是。但是,我已經讀過這個標頭與發送的content-length
標頭不兼容。Express Multipart(Body Parser) - {[Error:unknown transfer-encoding] status:400}
以下頭越來越發送:
{
connection: 'keep-alive',
'content-type': 'multipart/form-data; boundary=--------092114122750368',
'content-length': '6983',
host: '******* ',
accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'accept-encoding': 'identity',
'user-agent': 'Mozilla/3.0 (compatible; Indy Library)'
}
任何思考什麼可能會造成這個問題?
EDIT1
服務器代碼如下:
var port = 80,
express = require('express'),
app;
app = express();
// support JSON, urlencoded, and multipart requests
app.use(express.json({
limit: '50mb'
}));
app.use(express.urlencoded({
limit: '50mb'
}));
app.use(express.multipart({
uploadDir:'./uploads',
limit: '50mb'
}));
app.use(function (err, req, res, next) {
console.log(req.headers);
console.log(err);
});
顯然有更多的代碼,但是這是錯誤實際發生。 req.header
的輸出是我以上提供的JSON格式,{ [Error: unknown transfer-encoding] status: 400 }
的輸出在本文的第一行。我最初在每個app.use
調用後添加了錯誤回調,但我發現它是導致此問題的express.multipart
。
你能顯示代碼嗎?錯誤發生在哪裏? – mscdex 2014-09-21 13:59:25
這些是實際發送的頭文件還是您添加的頭文件?如果將任何傳輸編碼應用於消息,則需要在Transfer-Encoding標頭中聲明。 – dfherr 2014-09-21 14:34:22
已添加服務器代碼。標題是所有正在接收的標題 - 不是添加的標題。我不想應用任何傳輸編碼,因爲我不認爲應該有必要,因爲我已經定義了「內容長度」 – 2014-09-21 14:54:11