perl:正确的“内容类型”格式以返回“图像数据 uri”
Posted
技术标签:
【中文标题】perl:正确的“内容类型”格式以返回“图像数据 uri”【英文标题】:perl: correct `content type` formatting for returning `image data uri` 【发布时间】:2018-03-15 21:03:30 【问题描述】:我在angularjs
中有一个模板,期待通过模板的img
元素的src
属性调用的服务器调用返回的image data uri
:
<img src="http://localhost:3000/returnimage" />
在服务器端,写在Perl
和Dancer
我有:
any ['get', 'post'] => '/returnimage' => sub
content_type 'image/jpeg;base64;';
'data:image/jpeg;base64,/9j/4gIcSUNDX1B....N5f2hqE//Z';
;
模板渲染的结果是一个损坏的图像标签: 但是调用被执行:
网络响应和预览不可用。但是,如果我直接从浏览器调用http://localhost:3000/returnimage
,它们确实包含完整的image data uri
为'data:image/jpeg;base64,/9j/4gIcSUNDX1B....N5f2hqE//Z'。虽然出现黑色图像并且在检查时:
关于问题/修复的任何想法?
【问题讨论】:
src
属性需要图像并且您提供图像的 MIME 类型,但您实际上返回包含图像的数据 URI,而不是图像本身。响应不能直接返回图片内容吗?
@amon 后端生成一个图像数据uri,如子程序中返回的字符串中的示例......应该如何处理它才能成功/功能性地返回到src属性?谢谢!
【参考方案1】:
Perl 子程序:
my $photo = '/9j/4gIcSUNDX....oqOU1MzEFUa8x2MJf5JUjFV3llWW3UVscTLNhd93KFWQUrqHn/ABEc2CfmIASx0nMWLiN5f2hqE//Z';
my $decoded= MIME::Base64::decode_base64($photo);
content_type 'image/jpeg';
$decoded;
【讨论】:
以上是关于perl:正确的“内容类型”格式以返回“图像数据 uri”的主要内容,如果未能解决你的问题,请参考以下文章
如何使用“imageWithData”保存和检索UIImages保持正确的图像格式?
如何正确格式化 PDO 结果? - 以字符串形式返回的数字结果?