-3

我想自动将带有 png 图像的 html 文件转换为包含在单个 html 文件中的内联 base64 图像。有没有这样的即用型工具?

4

1 回答 1

3

这是我最近使用的简单 python 脚本......它充当过滤器:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import fileinput
import re
import base64
import mimetypes
import os


def replacement(match):

    fn = match.groups()[0]

    if os.path.isfile(fn):
        return 'src="data:%s;base64,%s"' % (mimetypes.guess_type(fn)[0], base64.b64encode(open(fn, 'rb').read()))

    return match.group()



def main():

    fi = fileinput.FileInput(openhook=fileinput.hook_encoded("utf8"))

    while True:
        line = fi.readline()
        if not line:
            break
        print re.sub(r'src="(.*?)"', replacement, line).encode('utf-8'),



if __name__ == '__main__':
    main()
于 2013-07-03T14:10:21.637 回答