if hasattr(file_name_or_handle, 'read'):
return SimpleUploadedFile(self.generate_file_name(), file_name_or_handle.read())
try:
# if string is path
with open(file_name_or_handle, 'rb') as fh:
obj = fh.read()
except IOError:
try:
# if string is b64 string
obj = base64.b64decode(file_name_or_handle)
except TypeError:
raise ValidationError(__('Неверный формат загружаемой картинки'))
return SimpleUploadedFile(self.generate_file_name(), obj)