Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ruby中图像到字节数组的转换_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails ruby中图像到字节数组的转换

Ruby on rails ruby中图像到字节数组的转换,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个png图像作为回形针附件,我需要将其作为字节数组发送到web服务接口。如何将图像文件转换为字节数组 存在一个问题 但它相当古老,唯一的答案是建议使用RmagickGem(没有示例代码或任何东西) 实现这一点真的需要RMagick宝石吗?如果没有充分的理由,我不想添加新的gem。我认为RMagic是满足您需求的完美解决方案。检查以下链接: 读取二进制文件并将其解压缩 f = File.binread 'image.png' f.unpack('B*') # Outputs lik

我有一个png图像作为回形针附件,我需要将其作为字节数组发送到web服务接口。如何将图像文件转换为字节数组

存在一个问题 但它相当古老,唯一的答案是建议使用RmagickGem(没有示例代码或任何东西)


实现这一点真的需要RMagick宝石吗?如果没有充分的理由,我不想添加新的gem。

我认为RMagic是满足您需求的完美解决方案。检查以下链接:


读取二进制文件并将其解压缩

f = File.binread 'image.png'    

f.unpack('B*')
# Outputs like ["0010010101110010000100110000010000010"] 

# Byte Array
# "abc".unpack('C*')
#=> [97, 98, 99]

f.unpack('C*')

检查不同的
解包
选项

一个“字节数组”不够详细,无法为您的请求指定格式。该服务应该指定像素数据的编码方式,或者建议它接受JPEG/PNG等格式(在这种情况下,您只需将文件直接编码为字符串)。你能提供更多细节吗?谢谢。该界面还要求提供格式(application/pdf、image/jpg、image/jpeg或image/png)。该接口是web服务需要您使请求主体成为二进制文件内容(直接从磁盘读取)并设置Content Type:header,以便它知道类型。据我所知,“字节数组”只是表示“原始字节”或“文件”的一种方式。“字节数组”与位的字符串表示不同。@NeilSlater请举个例子,无论如何更新了答案我必须同意您现在通过任何合理的解释显示字节数组!我亦曾就这项质询作出评论,认为这项质询并没有完全订明。目前尚不清楚OP是希望传输文件内容还是像素,也不清楚在这两种情况下它们应该如何编码。我会将您的答案标记为已接受,因为这是正确的答案。尽管这不是我需要的:)