Ich habe einen Ordner pdfs
unter static
Ordner mit dem Namen.wie alle pdf-Dateien in einem statischen Ordner zip? django
Ich versuche, eine zurück Reißverschluss zu haben, die die pdf alle Dateien im pdfs
Ordner enthält.
Ich habe ein paar Threads versucht, und ihre Codes verwendet, aber ich habe versucht zu trainieren Dinge, aber dann könnte den letzten Teil nicht lösen, dass ich eine Nachricht
Ich weiß, statische Ordner keine Datei/Verzeichnis zu sagen bekomme eine etwas anders als normale Ordner.
kann mir bitte jemand eine Hand geben und sehen, was ich verpasst haben?
Vielen Dank im Voraus
from StringIO import StringIO
import zipfile
pdf_list = os.listdir(pdf_path)
print('###pdf list################################')
print(pdf_path) # this does show me the whole path up to the pdfs folder
print(pdf_list) # returns ['abc.pdf', 'efd.pdf']
zip_subdir = "somefiles"
zip_filename = "%s.zip" % zip_subdir
# Open StringIO to grab in-memory ZIP contents
s = StringIO()
# Grab ZIP file from in-memory, make response with correct MIME-type
resp = HttpResponse(content_type='application/zip')
# ..and correct content-disposition
resp['Content-Disposition'] = 'attachment; filename=%s' % zip_filename
# The zip compressor
zf = zipfile.ZipFile(s, "w")
for pdf_file in pdf_list:
print(pdf_file)
zf.write(pdf_file, pdf_path + pdf_file)
zf.writestr('file_name.zip', pdf_file.getvalue())
zf.close()
return resp
hier ich Fehler Datei/Verzeichnis für 'abc.pdf'
P. S. bin immer für nicht in der Lage zu finden Ich brauche keine Unterordner, die in die Zip-Datei gezippt werden. Solange alle Dateien in der Zip sind, wird alles gut. (Es wird keine Unterverzeichnisse im pdfs
Ordner)
nicht wirklich eine django Sache, so viel wie eine reine Python Sache. Vielleicht ein wenig der alten Schule im, aber ich würde nur so etwas wie: 'os.system ("zip -r -X% s /% s% s" % (zip_subdir, zip_filename "" .join (pdf_list)))' – Fallenreaper
@Fallenreaper Wo sollte ich den von Ihnen angegebenen Code platzieren? – Tsuna