41 lines
1.7 KiB
Python
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}")
|