Ich versuche, eine PDF-Datei mit jquery, ajax & django herunterladen.jquery ajax nicht dienen pdf-Datei
Mein django views.py:
if request.POST.get('action') == 'download_labels':
order_list = json.loads(request.POST.get('order_dict'), None)
PackedOrders(dbname, order_list).downloadLabels()
file = open('shipping_labels.pdf','rb')
response = HttpResponse(file, content_type='application/pdf')
response['Content-Disposition'] = "attachment; filename=shipping_labels.pdf"
os.system('rm shipping_labels.pdf')
return HttpResponse(response, content_type='application/pdf')
Meine Ajax-Abfrage:
data : {action:'download_labels',
order_dict:JSON.stringify($checkedRows)},
success : function(response, status, request) {
var file = new Blob([response], {type: 'application/pdf'});
var fileURL = window.URL.createObjectURL(file);
window.open(fileURL,'_blank');
},
Die Ajax gibt die Datei als binäre Daten Ansprech- und öffnen Sie sie in einem neuen Tab. Aber alles, was ich in der neuen Registerkarte sehe, sind leere Seiten. Die Anzahl leerer Seiten entspricht der Anzahl der Seiten in der Original-PDF-Datei.
In Konsole sehe ich:
Error: Invalid XRef stream header
...
Warning: Indexing all PDF objects
pdf.worker.js (line 235)
<System>
PDF 85b859244e496561d60d217869d5d38a [1.3 -/-] (PDF.js: 1.3.76)
Error: Bad FCHECK in flate stream: 120, 239
...
Here die komplette Protokolldatei ist.