我正在尝试post
使用从Android App请求方法Loopj Async Http Client
,并使用Multer
使用以下代码的Node Server处理请求。
步骤1
public static void post(String url, File entity, AsyncHttpResponseHandler responseHandler) {
RequestParams params = new RequestParams();
try {
params.put("image",entity);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
client.post(getAbsoluteUrl(url), params, responseHandler);
}
getAbsoluteUrl返回实际的URL以发布请求
步骤2(节点服务器)
router.post('/upload_image', function(req, res) {
console.log(req.files);
});
但是,在收到请求后,我的节点js服务器抛出了一些我无法理解的错误,经过数小时的谷歌搜索和其他选择之后,我仍然无能为力。
这是问题所在:
POST /upload_image 500 1537.367 ms - 2057
Error: Unexpected field
at makeError (/home/jkrishna/Documents/ProjectX/node_modules/multer/lib/make-error.js:12:13)
at wrappedFileFilter (/home/jkrishna/Documents/ProjectX/node_modules/multer/index.js:39:19)
at Busboy.<anonymous> (/home/jkrishna/Documents/ProjectX/node_modules/multer/lib/make-middleware.js:112:7)
at Busboy.EventEmitter.emit (events.js:106:17)
at Busboy.emit (/home/jkrishna/Documents/ProjectX/node_modules/multer/node_modules/busboy/lib/main.js:31:35)
at PartStream.<anonymous> (/home/jkrishna/Documents/ProjectX/node_modules/multer/node_modules/busboy/lib/types/multipart.js:213:13)
at PartStream.EventEmitter.emit (events.js:95:17)
at HeaderParser.<anonymous> (/home/jkrishna/Documents/ProjectX/node_modules/multer/node_modules/busboy/node_modules/dicer/lib/Dicer.js:51:16)
at HeaderParser.EventEmitter.emit (events.js:95:17)
at HeaderParser._finish (/home/jkrishna/Documents/ProjectX/node_modules/multer/node_modules/busboy/node_modules/dicer/lib/HeaderParser.js:68:8)
at SBMH.<anonymous> (/home/jkrishna/Documents/ProjectX/node_modules/multer/node_modules/busboy/node_modules/dicer/lib/HeaderParser.js:40:12)
at SBMH.EventEmitter.emit (events.js:95:17)
at SBMH._sbmh_feed (/home/jkrishna/Documents/ProjectX/node_modules/multer/node_modules/busboy/node_modules/dicer/node_modules/streamsearch/lib/sbmh.js:95:16)
at SBMH.push (/home/jkrishna/Documents/ProjectX/node_modules/multer/node_modules/busboy/node_modules/dicer/node_modules/streamsearch/lib/sbmh.js:56:14)
at HeaderParser.push (/home/jkrishna/Documents/ProjectX/node_modules/multer/node_modules/busboy/node_modules/dicer/lib/HeaderParser.js:46:19)
at Dicer._oninfo (/home/jkrishna/Documents/ProjectX/node_modules/multer/node_modules/busboy/node_modules/dicer/lib/Dicer.js:197:25)
问题在于您已配置multer
为查找字段名称为的文件'file'
,但是在Android代码中,您正在发送名为的字段'image'
。更改一个或另一个,它应该起作用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句