2016-03-23 10 views
1

現在、フロントエンドにポリマーを使用しています。ポリマーには、要素「vaadin-upload」があります。ポリマーとノードJを使用した画像のアップロード

問題:ノードjsコードを起動/トレースできません。画像をアップロードしようとするとPOST 404が見つかりませんでした。

PolymerとNodeJSのコードを確認してください。

ポリマー

<vaadin-upload target="http://localhost:5000/upload" method="POST" timeout="300000" headers="{'X-Custom-Header': 'value'}"></vaadin-upload> 

ノードのJs

var server = new Hapi.Server(); 
server.route({ 
    method: 'POST', 
    path: '/upload', 
    config: { 
      payload:{ 
       maxBytes:209715200, 
       output:'stream', 
       parse: false 
      }, 
      handler: function (request, reply) { 
      var data = request.payload; 
      if (data.file) { 
       var name = data.file.hapi.filename; 
       var path = __dirname + "/upload/" + name; 
       var file = fs.createWriteStream(path); 

       file.on('error', function (err) { 
        console.error(err) 
       }); 

       data.file.pipe(file); 

       data.file.on('end', function (err) { 
        var ret = { 
         filename: data.file.hapi.filename, 
         headers: data.file.hapi.headers 
        } 
        reply(JSON.stringify(ret)); 
       }) 
      } 

     } 
    } 
}); 

答えて

0

あなたはサーバーインスタンスを作成した後にポートを定義する必要があるように見える​​を見た後。

server.connection({ port: 5000 }); 
0

Hapiはファイルをディレクトリに保存するので、処理する必要はありません。

const server = new Hapi.Server(); 

server.connection({ 
    port: 5000 
}); 

server.start(function() { 
    console.log('server running at: ' + server.info.uri); 
}); 

const PATH_TO_UPLOADED_FILES = '...'; 

server.route({ 
    method: 'POST', 
    path: '/upload', 
    config: { 
     payload: { 
      output: 'file', 
      uploads: PATH_TO_UPLOADED_FILES, 
      parse: true, 
      maxBytes: 209715200 
     }, 
     handler: function (request, reply) { 
      // file path is at: request.payload.file.path 
      reply('thanks'); 
     } 
    } 
}); 
関連する問題