【问题标题】:Upload MP3 Files - Invalid byte sequence in UTF-8上传 MP3 文件 - UTF-8 中的无效字节序列
【发布时间】:2017-09-02 21:28:46
【问题描述】:

我正在使用 Rails 5 API (carrierWave),我需要它来将一些二进制数据(mp3 文件)放入我的 postgres 数据库中。

首先我创建了一个这样的简单模型: rails g scaffold Capsule name:string description:string file_upload:binary 然后 : rails db:migrate 更新我的数据库。

之后,我尝试使用“邮递员应用程序”进行 POST,并为我的“file_upload”行使用 mp3 文件。

但在那之后我有一个错误的请求说:

{ “状态”:400, "error": "错误请求", "exception": "#sequence in UTF-8>", ...

我已经搜索了问题,但任何东西都可以帮助我......

我该如何解决?非常感谢。 最好的问候。

【问题讨论】:

  • 我猜你需要明确告诉它你的文件应该是二进制数据(嘿Rails,不要编码这个)。在谷歌上搜索“multipart/form-data”可能会引导您朝着正确的方向前进。
  • 但是当我执行“rails g scaffold Capsule name:string description:string file_upload:binary”时,我只是告诉rails这一行是二进制数据。我已经用这种方式搜索了,有什么帮助我 D= ...

标签: ruby postgresql utf-8 binary ruby-on-rails-5


【解决方案1】:

而且 mp3 不是字符串,它是二进制文件。您可以将其编码为 uuencode 之类的内容,也可以将其存储为 bytea。

【讨论】:

  • 是的,我知道,我的 mp3 文件名为 file_upload,我将其定义为 binary =)!
  • 好吧,既然它失败了,因为它不是正确的 UTF8,你存储它的字段不是二进制/字节,而是文本类型。
猜你喜欢
  • 2015-07-04
  • 2012-03-25
  • 1970-01-01
  • 1970-01-01
  • 2011-01-26
  • 2011-02-28
  • 2016-07-05
  • 2013-08-20
  • 1970-01-01
相关资源
最近更新 更多