Projet

Général

Profil

Bug #40707

vérification taille upload vs storage chiffré/opaque (?)

Ajouté par Frédéric Péters il y a environ 4 ans. Mis à jour il y a environ 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
13 mars 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Exception:
  type = '<class 'AttributeError'>', value = ''NoneType' object has no attribute 'name''

Stack trace (most recent call first):
  File "/usr/lib/python3/dist-packages/wcs/qommon/form.py", line 805, in _parse
   803         if self.max_file_size:
   804             # validate file size
>  805             file_size = os.path.getsize(self.value.fp.name)
   806             if file_size > self.max_file_size_bytes:
   807                 self.error = _('over file size limit (%s)') % self.max_file_size

  locals:
     filetype = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
     request = <wcs.compat.CompatHTTPRequest object at 0x7effa6aec710>
     self = <FileWithPreviewWidget at 7effa627f0f0: f22>
     session = <Session at 7effa6276898: -gb6Mc8bnT2f5bkN8BBENg>
     token = 'VMPnMLGmmVU:mLIwRxvqLN0gsQQgTr52yKQgu9k'

Fichiers

Révisions associées

Révision e956f92a (diff)
Ajouté par Thomas Noël il y a environ 4 ans

verify file size for alternative storage (#40707)

Historique

#1

Mis à jour par Thomas Noël il y a environ 4 ans

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Thomas Noël

Ah oui, il manque la vérification de l'existence de self.value.fp, ie avoir if self.max_file_size and self.value.fp:

#2

Mis à jour par Thomas Noël il y a environ 4 ans

Pour faire plus complet, prise en charge d'une taille éventuellement renvoyée par le système de stockage distant (content_length dans les storage_attrs)

#3

Mis à jour par Frédéric Péters il y a environ 4 ans

Je préférerais que ça passe par une méthode sur PicklableUpload, get_size(), comme on a can_thumbnail, has_redirect_url, etc.

En gros que "storage_attrs" n'apparaisse jamais en-dehors de wcs/qommon/upload_storage.py.

Ce qui me fait regarder ça et l'autre usage, un peu plus haut que la vérification de taille, c'est pour le content type, que je verrais volontiers changé également.

#4

Mis à jour par Thomas Noël il y a environ 4 ans

  • Statut changé de Solution proposée à En cours

Sure.

#5

Mis à jour par Thomas Noël il y a environ 4 ans

Voilà, via l'ajout d'un value.file_size lors du get_tempfile, ce permet de conserver la taille du fichier avant son envoi dans le webservice, c'est encore mieux.

#6

Mis à jour par Frédéric Péters il y a environ 4 ans

  • Statut changé de Solution proposée à Solution validée
#7

Mis à jour par Thomas Noël il y a environ 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit e956f92a8a818d81e40c46ea5c92a88589955abb
Author: Thomas NOËL <tnoel@entrouvert.com>
Date:   Fri Mar 13 01:59:05 2020 +0100

    verify file size for alternative storage (#40707)

#8

Mis à jour par Frédéric Péters il y a environ 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF