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}")