【发布时间】:2014-03-16 09:54:01
【问题描述】:
谁能告诉我如何使用 nodejs 和 HAPI 上传文件?
我正在处理程序中获取二进制数据。
这是我的html代码:
function sendFormFromHTML(form) {
//form = $(".uploadForm").form;
var formData = new FormData(form);
formData.append('id', '123456'); // alternative to hidden fields
var xhr = new XMLHttpRequest();
xhr.open('POST', form.action, true);
xhr.onload = function(e) { alert(this.responseText) };
xhr.send(formData);
return false;
}
<form method="post" id="uploadForm" action="http://localhost:3000/api/uploadfiles" enctype="multipart/form-data">
<label for="upload">File (Binary):</label>
<input type="file" name="upload" class="fileupload" /><br/>
<input type="button" class="submit" value="Submit" onclick="sendFormFromHTML(this.form);"/>
</form>
这是我的 Nodejs 代码:
server.route({
method: 'POST',
path: '/api/uploadfiles',
config: {
handler: currentposition.uploadFiles,
}
});
uploadFiles:function(req,reply){
console.log(req.payload);
}
【问题讨论】:
-
不确定 HAPI,但使用 Express 可以从 Connect 中获得
multipart解析器中间件,因此传入的 FormData 可以正确解析为任一字段文件。 -
@Roman 感谢您的回复。但我只使用 HAPI 不表达。
-
我只是告诉你可以使用解析器。试试multipratyFormData 解析器。
-
@Roman 感谢您提供信息,但如何将这个多方 FormData 解析器与 HAPI 一起使用。它在 Express 中的工作就像一个魅力。
标签: javascript node.js express hapijs