【问题标题】:perl: correct `content type` formatting for returning `image data uri`perl:正确的“内容类型”格式以返回“图像数据 uri”
【发布时间】:2018-03-16 19:51:35
【问题描述】:

我在angularjs 中有一个模板,期待通过模板的img 元素的src 属性调用的服务器调用返回的image data uri

<img width="200px" height="200px" src="http://localhost:3000/returnimage" />

在服务器端,写在PerlDancer 我有:

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属性?谢谢!

标签: angularjs perl content-type dancer


【解决方案1】:

Perl 子程序:

my $photo = '/9j/4gIcSUNDX....oqOU1MzEFUa8x2MJf5JUjFV3llWW3UVscTLNhd93KFWQUrqHn/ABEc2CfmIASx0nMWLiN5f2hqE//Z';
my $decoded= MIME::Base64::decode_base64($photo);
content_type 'image/jpeg';
$decoded;

【讨论】:

    猜你喜欢
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 2021-06-16
    • 2016-02-04
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    相关资源
    最近更新 更多