2016-11-25 13 views
0

私はExpress.jsを使ってREST APIを書いています。 APIは、クライアントからのビデオファイルを受け入れ、それを雲雲にアップロードする必要があります。 APIを使用してファイルをクライアントに戻すと(テストとして)すべてが完全に機能します。同じファイルを雲雲にアップロードしようとするとエラーが発生します。エラーメッセージ:Cloudly File Upload Error

"file.match is not a function" 

私はfile.matchが何であるか、それが私に問題を与えているのか分かりません。他の誰かがこの問題を抱えていたら、どのように解決しましたか?以下 は私に問題を与えているコードです:

app.js

var express = require('express'); 
var formidable = require('express-formidable'); 
var app = express(); 

app.use(formidable()); 

var routes = require('./routes'); 
app.use('/routes', routes); 

var port = process.env.PORT || 3000; 

app.listen(port, function() { 
    console.log('Express server is listening on port ' + port); 
}); 

routes.js

var express = require('express'); 
var cloudinary = require('../cloudinary.js').cloudinary; 
var router = express.Router(); 

router.post('/upload', function(req, res, next) { 
    cloudinary.uploader.upload(req.files, function(result) { 
    console.log(result); 
    }); 
}); 

module.exports = router; 

cloudinary.js

var cloudinary = require('cloudinary'); 

cloudinary.config({ 
    cloud_name: 'name', 
    api_key: 'key', 
    api_secret: 'secret' 
}); 

module.exports.cloudinary = cloudinary; 
+0

独自のコードで、あなたがコードとしても – Simon

+0

@Simonアイブ氏はfile.matchがある」、同じエラーが引き続き発生 – TheNewGuy

答えて

1

私はこの問題を解決できました。それは曇りの終わりには問題ではなかった。キーは、ファイルの場所だけを送信することでした。 cloudinary.js以来

WORKING routes.js

var express = require('express'); 
var cloudinary = require('../cloudinary.js').cloudinary; 
var router = express.Router(); 

router.post('/upload', function(req, res, next) { 
    var fileGettingUploaded = req.files.fileToUpload.path; 

    cloudinary.uploader.upload(fileGettingUploaded, function(result) { 
    console.log(result); 
    }); 
}); 

module.exports = router; 
0

次のように指定してみましたresource_typeとしてvideo-

cloudinary.uploader.upload(req.files, 
    function(result) {console.log(result); }, 
    { resource_type: "video" }); 

画像と動画をアップロードする場合は、autoresource_typeとすることができます。

+0

上記のコードを追加したことを示していることを好みます機能ではありません " – TheNewGuy

+0

[サポートチケット](https://support.cloudinary.com/hc/en-us/requests/new)を開き、さらに調査するためにビデオファイルを共有できますか? この投稿を参考にしてください.. –

+0

私はあなたが尋ねたようにしました – TheNewGuy