上传文件的特殊处理formdata
上传文件 链接的处理
from contextlib import closing
from io import BytesIO
from requests_toolbelt.multipart.encoder import MultipartEncoder
def judge_url_size(self, url, size_limit):
#获取url地址的大小
content = bytearray()
with closing(
requests.get(url, stream=True)) as req: # stream=True 设置文本流使用迭代器获取 如:req.iter_lines
if 'content-length' in req.headers:
if int(req.headers['content-length']) > size_limit:
raise Exception(
'content-length too many. content-length: ' + str(req.headers['content-length']))
content = req.content
else:
size_temp = 0
for line in req.iter_lines():
if line:
size_temp += len(line)
if size_temp > size_limit:
raise Exception('content-length too many.')
content.extend(line)
return bytes(content)
data = MultipartEncoder(
fields={
# "file": (name, open(file_path, 'rb'), "type=txt"),
# "file": (name, open(file_path, 'rb'), f'type={type}'),
"file": (name, BytesIO(file)),
}
)
本文来自博客园,作者:寻月隐君,转载请注明原文链接:https://www.cnblogs.com/QiaoPengjun/p/16317235.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话