将图像上传到服务器 - Hapi.js

时间:2015-05-07 10:33:16

标签: node.js reactjs hapijs flux

我正在尝试将图像上传到我的服务器,然后将其保存到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: '/'
            }
        }

0 个答案:

没有答案