gpt4 book ai didi

ruby - 如何将上传的二进制文件 (ASCII-8BIT) 嵌入到 XML (UTF-8) 中?

转载 作者:数据小太阳 更新时间:2023-10-29 07:21:13 27 4
gpt4 key购买 nike

我有一个通过常规 form_for 上传的文件,这在参数哈希中为我提供了一个 ActionDispatch::Http::UploadedFile 对象,我可以调用该对象.read 获取内容。我现在需要将文件嵌入到 XML 文档中。我现在使用常规 Ruby 字符串来构造 XML。 Rails 字符串的默认编码是 utf-8。

因此我收到错误 Encoding::UndefinedConversionError"\x89"from ASCII-8BIT to UTF-8

以下文件会发生这种情况:

what-matters-now-1.pdf: application/octet-stream; charset=binaryexample.csv: text/plain; charset=utf-8investigations.png: image/png; charset=binary

It does not happen for:

my_test.txt: text/plain; charset=us-ascii

I have tried changing the encoding, but I get the same error:

params[:file].read.encode('utf-8')

最佳答案

我在尝试打开和写入图片时遇到了同样的问题(错误)。将“wb”作为权限添加到 open 方法后,它成功了。早些时候,它是“w”

关于ruby - 如何将上传的二进制文件 (ASCII-8BIT) 嵌入到 XML (UTF-8) 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10177674/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com