3

当我运行这个脚本并打开时,http://my_server/picture我得到的是logo-string 的图片。

#!/usr/local/bin/perl
use warnings;
use 5.014;
use Mojolicious::Lite;

get '/picture' => sub {
    shift->render();
};

app->start;

__DATA__
@@ picture.html.ep
<!DOCTYPE HTML>
<html>
<body>
<p>Hello</p>
<img src="/absolute/path/TEST.jpg" alt="logo" />
<p>World</p>
</body>
</html>

当我将这个 HTML 片段作为普通 HTML 文件打开时,我得到了图片。

用 Mojolicious::Lite 插入图片的正确方法是什么?

4

2 回答 2

5

public目录用于静态数据。只需在脚本旁边创建它并将图像放入。当使用默认设置的开发服务器运行时,您可以通过 url 访问它:

http://localhost:3000/TEST.jpg

所以你的模板可以包含:

<img src="/TEST.jpg" />
于 2011-08-23T15:56:08.890 回答
0

或者您可以使用:Base64 编码的 DATA 文件

...
__DATA__
@@ picture.html.ep
<!DOCTYPE HTML>
<html>
<body>
<p>Hello</p>
<img src="/absolute/path/TEST.jpg" alt="logo" />
<p>World</p>
</body>
</html>

@@ TEST.jpg (base64)
/9j/4AAQSkZJRgABAQEAZABkAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAD6APoDASIA
...
于 2014-10-03T10:31:19.173 回答