2016-07-20 2 views
0

ファイルをangleからノードに渡そうとしています。ファイルをバックエンドのパラメータとして渡します。

私はフロントエンドを稼働させることができました。これを使用すると、ユーザーはコントローラ内で次にアクセスしたファイルを選択できます。

scope.upload = function() { 

    if (scope.file) { 
    var uniqueFileName = 'Test/' + scope.file.name; 
    var params = { 
     Key: uniqueFileName, 
     ContentType: scope.file.type, 
     Body: scope.file 
    }; 
    console.log(params); // Params contains the file I wish to pass to node 
    } 

} 

このパラメータをノードに渡すにはどうすればよいですか。

app.post('/upload', function(req, res) { 

// Can I get req to hold the param maybe? 

}); 

は、それが何らかの形でこのルートにNG-コントローラから直接パラメータを渡すことは私のために可能です:

は、私は、サーバー上でこのようなルートを作成することとしましょうか?

はありがとう

EDIT:

scope.upload = function() { 

    if (scope.file) { 
    var uniqueFileName = 'Test/' + scope.file.name; 
    var params = { 
     Key: uniqueFileName, 
     ContentType: scope.file.type, 
     Body: scope.file 
    }; 
    console.log(params); // Params contains the file I wish to pass to node 
    $http 
     .post('/uploads', {stickie: params}) 
     .success(function(data){ 
      //what to do here 
     }) 
     .error(function(data){ 
      console.log('Error: ' + data); 
     }); 
    } 

私はノードへのパスをしようとしたファイルイムがPDFであることを追加する必要があります:

これは私がこれまでに得たものです。

今、私はこのようなのparamsオブジェクトのinnodeにアクセスできます。

app.post('/uploads', function(req, res) { 

    var file = req.body.stickie; 
    console.log(file); 

をしかし、何らかの理由でstickie.Bodyが一緒に渡されますしていないようです... はここでサーバーに記録する内容です。

{ Key: 'Test/myfilename', 
    ContentType: 'application/pdf', 
    Body: {} 
} 

身長が近いと感じますが、身体が表示されないのはなぜですか?ノードサーバ上のファイルアップロードのための

答えて

0
//node.js 
app.post('/upload_file', function(req, res){ 
    var file = req.file; 
    res.end(); 
}); 

$(document).ready(function(){ 
 
    $('#input').change(function(e) { 
 
     var files = e.target.files; 
 

 
     $.each(files, function(index, file) { 
 
    \t var name = file.name; 
 
    \t var ext = file_extension(name).toLowerCase(); 
 
    \t var size = file.size; 
 
    \t var type = file.type; 
 

 
    \t var fr = new FileReader(); 
 
    \t fr.readAsDataURL(file); 
 
     fr.onload = function(){ 
 
    \t \t var new_file = {}; 
 
    \t \t new_file.name = name; 
 
    \t \t new_file.size = size; 
 
    \t \t new_file.type = type; 
 
    \t \t new_file.content =fr.result; \t 
 
      
 
      send_file(new_file); 
 
    \t } 
 
     }); 
 
    }); 
 
}) 
 
function send_file(file){ 
 
    var url_server = "your_url/upload_file"; 
 
    $.ajax({ 
 
\t \t type : "POST", 
 
\t \t url : url_server, 
 
\t \t dataType : "json", 
 
\t \t async : true, 
 
\t \t data : ({ 
 
\t \t \t file : file 
 
\t \t }), 
 
\t \t success : function (data) { 
 

 
\t \t }, 
 
\t \t error : function (request, status, error) { 
 
\t \t \t console.log(request); 
 
\t \t } 
 
\t }); 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

答えていただきありがとうございますが、私は、これはノードに自分のファイルを渡す方法を確認するために失敗します。.. – eggman

関連する問題