diff --git a/longs/templates/longs/long_series_viewer.html b/longs/templates/longs/long_series_viewer.html
index 0e2d30e3..247cdfc9 100755
--- a/longs/templates/longs/long_series_viewer.html
+++ b/longs/templates/longs/long_series_viewer.html
@@ -29,3 +29,4 @@ This series is not associated with any cases.
{% endfor %}
Total image size: {{series.get_total_image_size|filesizeformat}}
+Download images
diff --git a/longs/urls.py b/longs/urls.py
index 367e1db5..20d361e0 100755
--- a/longs/urls.py
+++ b/longs/urls.py
@@ -12,6 +12,7 @@ urlpatterns = [
path("series/", views.LongSeriesView.as_view(), name="long_series_view"),
path("series/", views.long_series_detail, name="long_series_detail"),
path("series//order_dicom", views.long_series_order_dicom, name="long_series_order_dicom"),
+ path("series//download", views.SeriesImagesZipView.as_view(), name="long_series_download"),
path("series//order_dicom_instance", views.long_series_order_dicom_instance, name="long_series_order_dicom_instance"),
path("series//order_dicom_SeriesInstanceUID", views.long_series_order_dicom_SeriesInstanceUID, name="long_series_order_dicom_SeriesInstanceUID"),
path("series//order_upload_filename", views.long_series_order_upload_filename, name="long_series_order_upload_filename"),
diff --git a/longs/views.py b/longs/views.py
index 337883a6..a9320a9d 100755
--- a/longs/views.py
+++ b/longs/views.py
@@ -67,6 +67,8 @@ from rest_framework import viewsets
from .serializers import ExamSerializer
+from zipview.views import BaseZipView
+
import os
logger = logging.getLogger(__name__)
@@ -1041,3 +1043,10 @@ def refresh_exam_question_json(request, pk):
return redirect("longs:exam_overview", pk=pk)
+class SeriesImagesZipView(BaseZipView):
+ """Download all images from an image series"""
+
+ def get_files(self):
+ series = LongSeries.objects.get(pk=self.request.pk)
+
+ return [i.file for i in series.images]
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
index 7d262a39..857e0394 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -18,4 +18,5 @@ pydicom
django-dbbackup
django-hashedfilenamestorage
djangorestframework
-django-tinymce
\ No newline at end of file
+django-tinymce
+django-zipview
\ No newline at end of file