2017-04-05 20 views
-2

私はRest APIを開発するために新しく、このコードを使用してファイルをアップロードする方法を以下に試しました。それから私は郵便配達員でこれを試しましたが、私は肯定的な反応を得ましたが、ファイルはアップロードされませんでした。ノードjs multerを使用してファイルがアップロードされていません

var express  = require("express"); 
    var app   = express(); 
    var multer = require('multer') 

var storage = multer.diskStorage({ 
    destination: function (req, file, callback) { 
    callback(null, './uploads'); 
    }, 
    filename: function (req, file, callback) { 
    callback(null, file.fieldname + '-' + Date.now()+".jpg"); 
    } 
}); 

var upload = multer({ storage : storage}).single('userPhoto'); 

この方法を使用してファイルをアップロードしました。 HTMLを使用してファイルをアップロードすると効果的です。 しかし、私が郵便配達員を使ってこれを試してみたら、ファイルがアップロードされています。しかし、宛先フォルダにはファイルはありません。

app.post('/api/photo',function(req,res){ 
    upload(req,res,function(err) { 
     if(err) { 
     // res.end({"error" : true,"message" : "Error uploading file."}); 
     res.end("Error uploading file."); 
     } 
    res.end("File is uploaded"); 
     // res.json({"error" : false,"message" : "File is uploaded"}); 
    }); 
}); 

ここで私は、私は多くの方法を試してみましたが、私は任意の解決策を見つけることができない私のHTMLファイル

<html> 
    <head> 
    <title>File upload Node.</title> 
    </head> 
    <body> 
     <form id="uploadForm" 
      enctype="multipart/form-data" 
      action="/api/photo" 
      method="post"> 
     <input type="file" name="userPhoto" /> 
     <input type="submit" value="Upload Image" name="submit"> 
     <span id = "status"></span> 
    </form> 
    </body> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
    <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery.form/3.51/jquery.form.min.js"></script> 
    <script> 
    $(document).ready(function() { 

    $('#uploadForm').submit(function() { 
     $("#status").empty().text("File is uploading..."); 

     $(this).ajaxSubmit({ 

      error: function(xhr) { 
        status('Error: ' + xhr.status); 
      }, 

      success: function(response) { 
        console.log(response) 
        $("#status").empty().text(response); 
      } 
    }); 

    return false; 
    });  
}); 
    </script> 
</html> 

を追加した、誰もがこの問題を解決するために私を助けてくださいことはできますか?

答えて

0

コードが正常に動作しています。リクエストヘッダーのために問題が発生しました。

{"Content-Type":"application/json"} 

私はそれを削除しました。

このanswerは、この問題を解決するのに役立ちました

関連する問題