2017-04-07 49 views
0

我正在使用Rails 5 API(carrierWave),我需要它將一些二進制數據(mp3文件)放到我的postgres數據庫中。上傳MP3文件 - UTF-8無效的字節序列

首先我創建了一個簡單的模型那樣: rails g scaffold Capsule name:string description:string file_upload:binary 然後: rails db:migrate 來更新我的數據庫。

之後,我嘗試使用「郵遞員應用程序」執行POST,並使用mp3文件作爲我的「file_upload」行。

但在那之後我有一個錯誤的請求說:在UTF-「#sequence:

{ 「狀態」:400, 「錯誤」: 「錯誤的請求」, 「例外」 8>」,...

我搜索過這個問題,但任何東西能夠幫助我......

我怎樣才能解決這個問題?非常感謝你。 此致敬禮。

+0

我的猜測是你需要特別說明你的文件應該是二進制數據(嘿Rails,不要編碼這個)。谷歌對'multipart/form-data'的搜索可能會讓你朝正確的方向發展。 –

+0

但我只是告訴rails,這行是一個二進制數據,當我做「rails g腳手架膠囊名稱:字符串說明:字符串file_upload:二進制」。我已經以這種方式搜索,任何幫助我D = ... –

回答

0

而mp3不是一個字符串,它是一個二進制文件。你可以將它編碼爲像uuencode之類的東西或者將其存儲爲bytea。

+0

是的,我知道,我的mp3文件被稱爲file_upload,我定義它爲二進制=)! –

+0

那麼鑑於它的失敗,因爲它不是正確的UTF8你存儲它的字段不是二進制/ bytea,而是一個文本類型。 –

相關問題