2017-04-05 1 views
-2

휴식 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> 
    <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> 

내 HTML 파일을 추가 한하지만 난 어떤 해결책을 찾을 수없는 이유는 무엇입니까?

답변

0

코드가 잘 작동합니다. 요청 헤더 때문에 문제가 발생했습니다.

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

방금 ​​삭제했습니다.

answer이이 문제를 해결하는 데 도움이되었습니다.

관련 문제