מודל API פיצול וחיבור הקובץ לא עובד
-
כתבתי את הסקריפט הזה במחברת שכיון שהקובץ הוא גדול אז הוא מפצל אותו לכמה חלקים ומעלה אותם אחר כך נותן פקודה לחיבור בפיצול והעלאה עובד אבל פקודת החיבור לא מצליחה מה הבעיה?
import requests import os import uuid # === שלב 1: הורדת הקובץ מהאינטרנט === download_url = "https://books.mikdashmelech.co.il/22.mp3" local_filename = "22.mp3" response = requests.get(download_url) with open(local_filename, "wb") as f: f.write(response.content) print("הקובץ ירד בהצלחה:", local_filename) # === שלב 2: קריאת הקובץ והכנה לפיצול === with open(local_filename, "rb") as f: file_data = f.read() file_size = len(file_data) chunk_size = 4 * 1024 * 1024 # 4MB לכל חלק total_parts = (file_size - 1) // chunk_size qquuid = str(uuid.uuid4()) print(f"פיצול הקובץ ל-{total_parts + 1} חלקים") token = "**********:******" path = "ivr2:5/000.mp3" # === שלב 3: שליחת כל החלקים === for part_index in range(total_parts + 1): start = part_index * chunk_size end = start + chunk_size chunk_data = file_data[start:end] files = { 'qqfile': ('chunk', chunk_data), } data = { 'token': token, 'path': path, 'convertAudio': '0', 'autoNumbering': 'false', 'qquuid': qquuid, 'qqpartindex': str(part_index), 'qqpartbyteoffset': str(start), 'qqchunksize': str(chunk_size), 'qqtotalparts': str(total_parts), 'qqtotalfilesize': str(file_size), 'qqfilename': os.path.basename(local_filename), 'uploader': 'yemot-admin' } print(f"שולח חלק {part_index + 1} מתוך {total_parts + 1}") response = requests.post("https://call2all.co.il/ym/api/UploadFile", data=data, files=files) if response.ok: print("החלק נשלח בהצלחה") else: print("שגיאה בשליחת חלק", part_index + 1) print(response.text) break # === שלב 4: סיום ההעלאה === done_data = { 'token': token, 'path': path, 'convertAudio': '0', 'autoNumbering': 'false', 'qquuid': qquuid, 'qqfilename': os.path.basename(local_filename), 'qqtotalfilesize': str(file_size), 'qqtotalparts': str(total_parts), } print("שולח בקשת סיום העלאה") done_response = requests.post("https://call2all.co.il/ym/api/UploadFile?done", data=done_data) if done_response.ok: print("ההעלאה הושלמה בהצלחה") print("תגובת השרת:", done_response.text) else: print("שגיאה בסיום ההעלאה") print("תגובת השרת:", done_response.text) print("מזהה הפעולה שלך היה:", qquuid)
תגובת השרת: {"responseStatus":"ERROR","message":"System error","messageCode":105,"yemotAPIVersion":6,"success":false}
-
@amram
הקובץ נשמר בשרת? -
@amram תסתכל כאן
https://tchumim.com/topic/15792 -
@פיסטוק-פרווה
כן נשמר וגם כותב שהעלה את החלקים אבל בסוף שצריך לחבר השרת מחזיר שגיאה -
@אביי-ורבא
הסתכלתי לא כל כך מצאתי מזור לבעיה