2016-09-13 69 views
3

コードチェンジャー(cordova plugin file transfer)からnodeJSサーバーにアップロードする画像をアップロードしようとしています。cordovaファイル転送プラグインからnodeJSサーバーにファイルをアップロード

function uploadToServer(pictureName, fileURI) { 

    var options = new FileUploadOptions(); 
    options.fileKey = "file"; 
    options.mimeType = "image/jpeg"; 
    options.fileName = pictureName; 

    var ft = new FileTransfer(); 
    ft.upload(fileURI, encodeURI(CONSTANTS.hosts.remoteSR), 
    function (res) { 
     console.log("Code = " + res.responseCode); 
    }, 
    function (error) { 
     $log.debug(error) 
     alert("An error has occurred: Code = " + error.code); 
    }, 
    options); 

} 

PS:fileURIともPictureNameはヴァリデのparams、正しく機能withinotherテストされ はここに私のモバイルアプリのコードです。

マイノードJSサーバコード:

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

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

app.get('/',function(req,res){ 
    res.sendFile(__dirname + "/index.html"); 
}); 

app.post('/api/photo',function(req,res){ 
    upload(req,res,function(err) { 
    if(err) { 
     console.log(err) 
     return res.end("Error uploading file."); 
    } 

    res.end("File is uploaded"); 
    }); 
}); 

app.listen(3000,function(){ 
    console.log("Working on port 3000"); 
}); 

PS:私は他のソースからのアップロード時にアップロードが正常に動作しています。 (例えばindex.htmlアップロードフォームから)

コードを実行するとどうなりますか: 「コード= 200」はアップロード成功を意味しますが、何らかの理由でファイルのアップロードが見つかりません。

質問:4.4.7 コルドババージョン:どのようにnodeJS

ノードのバージョンと正しくコルドバファイルの送迎のplluginをプラグインする6.xの

答えて

5

OK]をクリックして、私はそれを見つけた:

options.fileKey = "file"; 

がすべき一致

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

したがってoptions.fileKeyはs et to userPhotoこのように

options.fileKey = "userPhoto"; 
+0

これは私を助けました。あなたの答えを共有してくれてありがとう。 – Somename

+0

あなたの提案をありがとう、私の問題を解決しました。私はモバイルからnodejsにwavファイルを送信しようとしていたので、nodejsサーバにアップロードされた新しいファイルには次のように追加した.wav extがありません。 コールバック(null、file.fieldname + ' - ' + Date.now()+ '.wav'); –

関連する問題