bu kod sıtenızde belırtılen MB mıkkratından daha buyuk resım yada vıdeo dosyalarını engelemeye yarar
from django.core.files.uploadhandler import FileUploadHandler, StopUpload
import logging
logger = logging.getLogger('uploadhandler')
class KotaExceededError(StopUpload):
pass
class KotaUploadHandler(FileUploadHandler):
def __init__(self, request=None):
super(KotaUploadHandler, self).__init__(request)
self.total_upload = 0
from django.conf import settings
self.Kota_mb = getattr(settings, 'UPLOAD_MAX_MB', 5.0)
self.Kota = self.Kota_mb * 1024 * 1024
self._zateniptaledildim = False
def _beniIptalET(self):
self._zateniptaledildim = True
logger.warn("IZIN VERILEN MAX %.2f MB, ORAN ASILDI ISLEM IPTAL EDILIYOR" % self.Kota_mb)
raise KotaExceededError('Maximum upload size is %.2f MB'
% self.Kota_mb)
def alinan_data_chunk(self, raw_data, start):
if self.request:
if self.request.user.is_staff:
return raw_data
content_length = self.request.META.get('CONTENT_LENGTH', None)
if content_length is not None:
content_length = int(content_length)
if content_length >= self.Kota:
return self._beniIptalET()
self.total_upload += len(raw_data)
if self.total_upload >= self.Kota:
return self._beniIptalET()
return raw_data