2017-04-07 70 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,而是一个文本类型。 –

相关问题