我正在尝试将图像上传到我的服务器,然后将其保存到MongoDB。我正在使用Hapi.js,React.js,Flux和Mongoose。
我在有效载荷中得到的是以下内容。这是图像的路径吗?
{ path: '/var/folders/rl/6ygb2kgx7xnbkhnrpdxlbcl80000gp/T/1430991015360-27136-94254437ff20c8ce',
bytes: 68 }
很抱歉,如果这个问题有点长,但我想包括所有步骤。
以下是表格:
<form method="POST" onSubmit={this.handleSubmit} enctype='multipart/form-data'>
<input type="file" name="newImage" ref="image" accept="image/*" />
<input type="submit" value="Share image" />
</form>
这是handleSubmit:
handleSubmit: function(e){
e.preventDefault();
var image = React.findDOMNode(this.refs.image).value;
var data = {
image: image
};
ActionCreators.saveImage(data);
},
然后,ActionCreators将其传递给APIUtils:
saveImage: function(data){
APIUtils.saveImage(data);
}
最后,APIUtils将图像作为AJAX请求发送到服务器:
saveImage: function(data){
Request.post('/api/image')
.send(data)
.end(function(err,res){
// do something with the response later on
});
}
现在,我正在尝试访问服务器上的此图像。 Server.js:
{
path: '/api/image',
method: ['POST'],
config: {
payload: {
output:'file',
maxBytes:209715200,
parse: false
},
auth: {
strategy: 'session',
mode: 'try'
},
handler: function(request,reply){
var payload = request.payload;
console.log('payload: ', payload);
},
plugins: {
'hapi-auth-cookie': {
reddirectTo: '/'
}
}