跳到内容
🛠️ToolsShed

Data URL Encoder

将文件转换为base64数据URL以嵌入HTML和CSS。

将文件拖到此处或点击上传

关于此工具

Data URL 是一种特殊的URL格式,它将文件内容直接编码到URL字符串中,允许您在HTML和CSS中嵌入图像、字体和其他资源,而无需单独的HTTP请求。此工具将任何文件转换为Base64编码的Data URL,有助于减少服务器请求、提高小型资源的页面加载速度,并在需要自包含标记时简化部署过程。

使用此工具非常简单,只需上传文件或粘贴其内容,编码器会立即生成可以直接复制粘贴到CSS背景图像属性、HTML img src属性或其他嵌入上下文中的Data URL。该工具会自动检测文件类型并在Data URL中设置正确的MIME类型,这样您的浏览器就能正确解释嵌入的内容。

Data URL最适合用于小文件(通常不超过100 KB),因为嵌入过大的文件会导致HTML和CSS臃肿。它对于优化网站性能的Web开发人员、嵌入自定义字体的设计师,以及构建电子邮件模板或离线优先应用程序(其中外部资源请求并不实用)的团队特别有用。

常见问题

代码实现

import base64
import mimetypes
from pathlib import Path

def file_to_data_url(filepath: str) -> str:
    """Convert a file to a base64 Data URL."""
    path = Path(filepath)
    mime_type, _ = mimetypes.guess_type(filepath)
    if mime_type is None:
        mime_type = "application/octet-stream"

    with open(path, "rb") as f:
        data = f.read()

    encoded = base64.b64encode(data).decode("utf-8")
    return f"data:{mime_type};base64,{encoded}"

# Example usage
url = file_to_data_url("image.png")
print(url[:80] + "...")
print(f"Total length: {len(url)} chars")

# Embed in HTML
html = f'<img src="{url}" alt="Embedded image">'

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.