2016-07-06 1 views
0

私はMongoDBデータベースに単純なプロファイルイメージを保存しようとしていますが、今のところ成功は限られています。それはかなりの痛みのようです。私はイメージを保存することができますが、パスでそれを取得することはできません。私はあなたのイメージをどこか別の場所(私の場合は登録されたドメイン)に保存し、あなたのデータベースのイメージにのみURLを保存することをお勧めします。平均スタックを使用してこれを達成するにはどうすればよいですか?それも可能ですか?MEANスタックを使用してアップロードしたイメージを他のドメインに保存するにはどうすればよいですか?

それ以外の場合は、無料のサービスがありますか?

例:

router.post('/upload/:profile_id', function (req, res) { 

//post to a folder on my external domain 

}); 

答えて

1

あなたがfirebaseで簡単に画像や任意のバイナリファイルを保存することができます。

あなたがしてストレージを設定することができます。これは、画像をアップロードする方法についての例です

// Set the configuration for your app 
    // TODO: Replace with your project's config object 
    var config = { 
    apiKey: '<your-api-key>', 
    authDomain: '<your-auth-domain>', 
    databaseURL: '<your-database-url>', 
    storageBucket: '<your-storage-bucket>' 
    }; 
    firebase.initializeApp(config); 

    // Get a reference to the storage service, which is used to create references in your storage bucket 
    var storageRef = firebase.storage().ref(); 

// File or Blob, assume the file is called rivers.jpg 
var file = ... 

// Upload the file to the path 'images/rivers.jpg' 
// We can use the 'name' property on the File API to get our file name 
var uploadTask = storageRef.child('images/' + file.name).put(file); 

// Register three observers: 
// 1. 'state_changed' observer, called any time the state changes 
// 2. Error observer, called on failure 
// 3. Completion observer, called on successful completion 
uploadTask.on('state_changed', function(snapshot){ 
    // Observe state change events such as progress, pause, and resume 
    // See below for more detail 
}, function(error) { 
    // Handle unsuccessful uploads 
}, function() { 
    // Handle successful uploads on complete 
    // For instance, get the download URL: https://firebasestorage.googleapis.com/... 
    var downloadURL = uploadTask.snapshot.downloadURL; 
}); 

と最後に...画像をダウンロード:

// Create a reference to the file we want to download 
var imageRef = storageRef.child('images/example.jpg'); 

// Get the download URL 
imageRef.getDownloadURL().then(function(url) { 
    // Insert url into an <img> tag to "download" 
}).catch(function(error) { 
    switch (error.code) { 
    case 'storage/object_not_found': 
     // File doesn't exist 
     break; 

    case 'storage/unauthorized': 
     // User doesn't have permission to access the object 
     break; 

    case 'storage/canceled': 
     // User canceled the upload 
     break; 

    ... 

    case 'storage/unknown': 
     // Unknown error occurred, inspect the server response 
     break; 
    } 
}); 
+0

このリンクは質問に答えるかもしれませんが、答えの本質的な部分をここに含めて参照のためのリンクを提供する方が良いでしょう。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューの投稿](レビュー/低品質の投稿/ 12922789) –

+1

フィードバックに感謝します。 –

関連する問題