我想下載一個pdf文件使用jquery,ajax & django。jquery ajax沒有提供pdf文件
我的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')
我的AJAX查詢:
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');
},
阿賈克斯返回文件作爲二進制數據的響應,並在新標籤中打開它。但是我在新標籤中看到的所有內容都是空白頁。空白頁面的數量等於原始pdf文件中的頁面數量。
在控制檯中我看到這一點:
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是完整的日誌文件。