2015-04-16 16 views
5

Mam małe obrazy Chcę przechowywać jako element danych bin. Formularz został opublikowany, ale nie wiem, co zrobić w kontrolerze, więc jeśli tak, dane są przechowywane. Używam Sails.js, a formularz przekazuje dane jako "image" w formularzu o typie danych wejściowych do pliku.Jak przechowywać dane binarne z wiadomości na MongoDB

var image = new Images; 
image.data = ???? 
image.save(); 

Odpowiedz

4

Jeśli obrazy są mniejsze niż 16 MB, można zapisać je bezpośrednio, używając typu bindgo MongoDB. Zawsze możesz przekonwertować strumień binarny na ciąg Base64 i zapisać go jako plik tekstowy, ale zmniejszy to dozwolony rozmiar obrazu.

Jeśli obraz jest większy niż 16 MB, nie ma innego wyboru niż użycie GridFS.

+0

Dzięki za odpowiedź. Właśnie to chcę zrobić. Jak przekonwertować dane wejściowe do bazy na base64 za pomocą węzła? – latitudehopper

+0

Możesz utworzyć ciąg base64 za pomocą bufora. Spójrz na ten artykuł: http://www.hacksparrow.com/base64-encoding-decoding-in-node-js.html – Pickels

+0

Czy ktoś może udostępnić dowolny link zawierający dokumentację/przykład przesyłania pliku za pośrednictwem typu bindata? – adi

Powiązane problemy