With bei HTTP File Upload
Verfasst: Sonntag 29. Dezember 2019, 21:44
Hallo Leute,
ich hoffe ihr könnt mir weiterhelfen, da ich mir derzeit an einer Fragestellung den Kopf zerbreche. Ich lade per HTTP-requests Dateien über eine REST-API hoch. Funktionierte soweit problemlos. Leider wird bei meinem derzeit funktionierenden Konstrukt die hoch geladene Datei nach dem Upload nicht wieder geschlossen/freigegeben, so dass ich sie nicht aus dem Windows-Verzeichnis löschen kann. Also wollte ich meinen Code umschreiben und per WITH das Schließen der Datei, nach dem Upload, realisieren. Funktioniert nur leider nicht so, wie ich es mir vorgestellt hatte. Vielleicht wisst ihr Rat?
Hier mein derzeit funktionierender Code:
Hier mein neuer, bis dato leider erfolgloser, Wurf.
Folgender Fehler wird ausgegeben:
Ich bin dankbar für jeglichen Rat.
Schönen Abend!
ich hoffe ihr könnt mir weiterhelfen, da ich mir derzeit an einer Fragestellung den Kopf zerbreche. Ich lade per HTTP-requests Dateien über eine REST-API hoch. Funktionierte soweit problemlos. Leider wird bei meinem derzeit funktionierenden Konstrukt die hoch geladene Datei nach dem Upload nicht wieder geschlossen/freigegeben, so dass ich sie nicht aus dem Windows-Verzeichnis löschen kann. Also wollte ich meinen Code umschreiben und per WITH das Schließen der Datei, nach dem Upload, realisieren. Funktioniert nur leider nicht so, wie ich es mir vorgestellt hatte. Vielleicht wisst ihr Rat?
Hier mein derzeit funktionierender Code:
Code: Alles auswählen
for root, dirs, files in os.walk('%sworkfolder/%s/%s' % (start_path, pid, str(row[0]))):
for name in files:
url = "http://%s/system/%s/sec?pid=%s" % (server_name, pid, str(row[0]))
headers = {
'Accept': "*/*",
'Cache-Control': "no-cache",
'Accept-Encoding': "gzip, deflate",
'Cookie': session_cookie,
'Connection': "keep-alive",
'cache-control': "no-cache"
}
files={'files': open('%s/%s' % (root, name),'rb')}
response = requests.request("POST", url, files=files, headers=headers)
Code: Alles auswählen
for root, dirs, files in os.walk('%sworkfolder/%s/%s' % (start_path, pid, str(row[0]))):
for name in files:
url = "http://%s/system/%s/sec?pid=%s" % (server_name, pid, str(row[0]))
headers = {
'Accept': "*/*",
'Cache-Control': "no-cache",
'Accept-Encoding': "gzip, deflate",
'Cookie': session_cookie,
'Connection': "keep-alive",
'cache-control': "no-cache"
}
with open('%s/%s' % (root, name), 'rb') as files: response = requests.request("POST", url, files=files, headers=headers)
Code: Alles auswählen
ValueError: too many values to unpack (expected 2)
Schönen Abend!