Я пытаюсь загрузить Zip-файл из своих представлений Django. Но я вызываю функцию views из моей службы angularjs по запросу post.The, возвращает zip-файл, но это не загружается. Может кто-нибудь, пожалуйста, скажите мне, что такое содержимое функции .success в моей службе angularjs, чтобы файл zip был загружен?Загрузка zip-файла с помощью angular-js и django
1
A
ответ
0
Это решение отлично подходит для меня. Я надеюсь, это поможет вам.
var req = {
method: 'POST',
url: 'api/cdr/downloads/',
responseType:"arraybuffer",
data: selected
};
$http(req)
.success(function(data, status, headers){
var arr = data;
var byteArray = new Uint8Array(arr);
var a = window.document.createElement('a');
a.href = window.URL.createObjectURL(
new Blob([byteArray], { type: 'application/octet-stream' })
);
a.download = headers('filename');
// Append anchor to body.
document.body.appendChild(a);
a.click();
// Remove anchor from body
document.body.removeChild(a);
}
).error(function(){
}
);
0
Ответ, размещенный здесь, не работает для меня. Вот что сделал в конечном итоге работает для меня:
В вашем JavaScript:
$http({
url: "/serveZip",
method: 'POST',
responseType: 'arraybuffer'
}).then(function success(response){
var a = document.createElement('a');
var blob = new Blob([response.data], {'type':"application/zip"});
a.href = URL.createObjectURL(blob);
a.download = "myZip.zip";
a.click();
});
В вашем views.py:
def serveZip(request):
zipPath = "path/to/myZip.zip"
servableZip = open(zipPath,'rb')
response = HttpResponse(servableZip, content_type='application/zip')
response['Content-Disposition'] = 'attachment; filename="myZip.zip"'
return response
Это работало для меня в хроме, не пробовал, но в другом месте вы можете попробовать приложение/октет-поток вместо приложения/zip, если он не работает в других браузерах.
Смежные вопросы
- 1. Загрузка видео с помощью Angularjs и Symfony2
- 2. Загрузка файлов с помощью AngularJS
- 3. Загрузка изображений с помощью angularjs
- 4. Загрузка изображений с помощью Angularjs
- 5. Загрузка изображения с помощью django
- 6. CORS с django и angularjs
- 7. Bootstrap popover и загрузка контента с помощью ajax и django
- 8. Загрузка и сохранение файлов с сервера с помощью AngularJS
- 9. Загрузка очень больших изображений с помощью AngularJS
- 10. Загрузка больших наборов данных с помощью AngularJS
- 11. Загрузка файла с помощью AngularJS не удалась
- 12. Загрузка изображения в Imgur с помощью AngularJS
- 13. Загрузка больших видеофайлов mp4 с помощью angularjs
- 14. Загрузка данных подробнее modal с помощью AngularJS
- 15. загрузка html-страницы с помощью angularjs
- 16. Загрузка нескольких файлов с помощью angularjs
- 17. Загрузка скрипта с помощью настраиваемой директивы angularjs
- 18. HTML5 Загрузка файла с помощью AngularJS
- 19. AngularJS: Загрузка файлы с помощью углового JS
- 20. Загрузка дополнительных полей с помощью angularjs
- 21. Загрузка нескольких изображений с помощью Django
- 22. Загрузка файлов с помощью Django + HTML Forms
- 23. Загрузка файла с помощью django-профилей
- 24. Загрузка файла с django
- 25. Загрузка файла в django с помощью ModelForms
- 26. Загрузка файлов с помощью Django Admin
- 27. Django загрузка пользователей с помощью inital_data.json
- 28. Загрузка нескольких файлов с помощью Django
- 29. Загрузка файлов с помощью Progressbar в Django
- 30. Загрузка больших файлов с помощью Python/Django