我尝试使用HTTP POST方法在meteor上传文件,并使用enctype =" multipart / form-data"
WebApp.connectHandlers.use("/api/v1/upload", function(req, res, next) {
console.log(req.files); //undefined
console.log(req.file); //undefined
console.log(req);
})
我尝试使用WebApp但在请求对象下获取未定义的文件属性
我也试过multer和Picker,但没有运气。
const _multerInstanceConfig = { dest: '/tmp' }; // Temp dir for multer
const _multerInstance = multer(_multerInstanceConfig);
Picker.middleware(_multerInstance.single('photo'));
Picker.route('/api/v1/upload', function(params, req, res, next) {
console.log(req.files); //undefined
console.log(req.file); //undefined
console.log(req);
})
这是我尝试上传的最简单的形式
<form action="http://localhost:3000/api/v1/upload" method="POST" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="Upload File" />
</form>
我在这里遗漏了什么吗?不确定。 此外,我不想通过DDP使用base64数据字符串上传文件,因为它非常慢。
我也检查了几个链接,但没有运气
multer - req.file always undefined
https://github.com/noris666/Meteor-Files-POST-Example
PS:我需要通过原生的Android / iOS客户端上传图片。
答案 0 :(得分:0)
谢谢,每个人都花了我的时间在我的问题上,我从git http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/http/converter/json/MappingJackson2HttpMessageConverter.html得到了问题的解决方案,我提出了。 如果其他人也面临类似的问题,我会在这里发布我的解决方案。
这是因为此输入字段的名称
<input type="file" name="file" />
与
不匹配Picker.middleware(_multerInstance.single('photo'));
将它们中的任何一个更改为将使其完美运行。