2016-09-01 8 views
0

私はユーザーがフォームに画像をアップロードすることができるようにする基本的なWebアプリを持っていますが、現時点では、すでにアップロードフォルダにローカルに保存されている既定のイメージを自動的に設定したい場合は、noimage.pngを呼び出してユーザーのプロファイルイメージとして保存します。これは私の裁判でしたが、動かなかったのです。1つのファイルのアップロードにreq.fileを使用してifステートメントを使用する

var multer = require('multer'); 


//var uploads = multer({dest: './uploads/'}); 

var storage = multer.diskStorage({ 
    destination: function (request, file, callback) { 
     callback(null, './uploads'); 
    }, 
    filename: function (request, file, callback) { 
     console.log(file); 
     callback(null, file.fieldname) 
    } 
}); 
var upload = multer({ storage: storage }); 
router.post('/register', upload.single('profileimage'), function(req,res,next){ 

    `if(req.file.profileimage){ 
      console.log('uploading File...'); 

      // File Info 
      var profileImageOriginalName = req.files.profileimage.originalname; 
      var profileImageName = req.files.profileimage.name; 

      var profileImageMime = req.files.profileimage.mimetype; 
      var profileImagePath = req.files.profileimage.path; 
      var profileImageExt = req.files.profileimage.extension; 
      var profileImageSize = req.files.profileimage.size; 
     } else { 
      // Set a Default Image 
      var profileImageName = 'noimage.png'; 
     } 

これを処理するにはどうすればよいですか?

答えて

2

ファイルが1つだけの場合は、ではなくreq.fileを使用してください。これは、すべてのファイル情報が、req.file.originalnamereq.file.mimetypeなどでアクセスされていることを意味します。

+0

これでファイルはデータベースに渡されません。私はデータベースとしてmongoDBを使用しています。 –

+0

それは別の問題/質問です。 – mscdex

関連する問題