首页 > 解决方案 > 如何使用 Python 从本地文件创建数据 url?

问题描述

我可以像这样读取本地文件,但是我现在如何才能将本地文件表示为数据 url?我看不到任何这样做的方法。

这是一个数据 url: https ://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs

import urllib.request
import random
import os

filename = urllib.request.pathname2url(random.choice(os.listdir('./sampledocuments')))
print(filename)

r = urllib.request.urlopen('file:///Users/myusername/sampledocuments/' + filename)


print(r)
print(r.info)
print(r.geturl)
print(dir(r))

标签: python

解决方案


非常简单:给定mimetypeand data,

import base64
...
f"data:{mimetype or ''};base64,{base64.b64encode(data).decode()}"

要获取数据,您可以按如下方式修改代码:

filename = random.choice(os.listdir('./sampledocuments'))
with open(filename, "rb") as f:
    data = f.read()

如果你知道它是什么,请设置mimetype它,但即使它是它也会起作用None(它可能不会做你想要的)。


推荐阅读