py-test/base64EncodeUrl.py

41 lines
1.7 KiB
Python

import base64
def generate_download_url(base_url: str, file_id: str, fullfilename: str, token: str) -> str:
"""
生成下载 URL 并对其进行 Base64 编码
:param base_url: 文件下载的基础 URL
:param file_id: 文件的 ID
:param fullfilename: 文件的完整名称
:param token: 授权的 Token
:return: Base64 编码后的完整下载 URL
"""
# 拼接完整的下载 URL
download_url = f"{base_url}/{file_id}?fullfilename={fullfilename}&token={token}"
print(f"Original URL: {download_url}")
# 对 URL 进行 Base64 编码
base64_encoded_url = base64.b64encode(download_url.encode("utf-8")).decode("utf-8")
print(f"Base64 Encoded URL: {base64_encoded_url}")
return base64_encoded_url
# 示例数据
pre_view_url = "http://192.168.1.12:8012/onlinePreview"
download_url = "http://192.168.1.28:8080/prod-api/file/download"
base_url = "http://192.168.1.28:8080/prod-api/file/download"
file_id = "a69ea8e0f8e28f92202975a3a4996e7b"
fullfilename = "文件预览.pptx"
token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfcm9sZV9rZXkiOiJzaHV6aXpob25neGluIiwidXNlcl9pZCI6IjEiLCJ1c2VyX25hbWUiOiJhZG1pbiIsInNjb3BlIjpbInNlcnZlciJdLCJleHAiOjE3MzUwMzIxMDMsImp0aSI6Ijl4Q3JrVDltXy1iZGh6czhKSWlrdkcySk5XcyIsImNsaWVudF9pZCI6IjFhN2JmY2M2MDI3NzRkNDk5NTkzNzU1MTFmYmIzYWYzIn0.T7jZ4bSmPqlwH2LjZeKLRXg_5Q4t7ihRUhd-zvdehak"
# 生成 Base64 编码的 URL
encoded_url = generate_download_url(base_url, file_id, fullfilename, token)
# 拼接下载和预览 URL
down_url = f"{download_url}/{file_id}"
final_url = f"{pre_view_url}?url={encoded_url}"
# 打印结果
print(f"Download URL: {down_url}")
print(f"Final Preview URL: {final_url}")