从指定的 URL 读取 .docx 文件内容并返回文本

def read_network_docx(file_url):
"""
从指定的 URL 读取 .docx 文件内容并返回文本。

:param file_url: .docx 文件的 URL 地址
:return: 文件内容的字符串形式,如果请求失败则返回 None
"""
if not file_url:
return return_dict(400, "file_url参数不能为空")
try:
# 发送 HTTP GET 请求到指定的 URL
response = requests.get(file_url)
# 检查请求是否成功(状态码 200 表示成功)
response.raise_for_status()

# 获取 Content-Type 字段
content_type = response.headers.get("Content-Type", "").lower()

# 判断 Content-Type 是否是 Word 文档的 MIME 类型
if "application/vnd.openxmlformats-officedocument.wordprocessingml.document" in content_type or "application/msword" in content_type:
# 将响应内容(字节数据)加载到 BytesIO 对象中
file_stream = BytesIO(response.content)
# 使用 python-docx 读取 .docx 文件
doc = Document(file_stream)
# 提取文件中的文本内容
text = "\n".join([paragraph.text for paragraph in doc.paragraphs])
return return_dict(200, "读取成功", {"text": text})
else:
return return_dict(400, "file_url类型错误")
except requests.exceptions.RequestException as e:
return return_dict(400, f"报错信息:{e}")
except Exception as e:
return return_dict(400, f"报错信息:{e}")