Projet

Général

Profil

Development #40932

vérifier le format du fichier chargé avant son upload

Ajouté par Serghei Mihai il y a environ 4 ans. Mis à jour il y a presque 4 ans.

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

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Au lieu de le faire à la validation du formulaire.
Afficher le message d'erreur dans le widget de selection du fichier.


Fichiers

Révisions associées

Révision d286bcfb (diff)
Ajouté par Frédéric Péters il y a presque 4 ans

misc: check file type before upload (#40932)

Historique

#1

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

Parles-tu de jouer une vérification lors du tmp-upload ajax ? (Si oui, ce n'est pas une mince affaire)

#2

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

Thomas Noël a écrit :

Parles-tu de jouer une vérification lors du tmp-upload ajax ? (Si oui, ce n'est pas une mince affaire)

Ouaip par contre il pourrait retourner le type à l'appel Ajax {'err': 0, 'content-type': 'application/pdf'} et si ce n'est pas un des types prévu on peut poser une erreur en JS et ignorer le jeton d'upload.

On a une validation serveur plus puissante mais on ne peut pas couper l'upload en cours de route (je ne suis même pas certain que ce soit possible tel qu'on wrap Django dans Quixote) pour gagner du temps.

#3

Mis à jour par Serghei Mihai il y a environ 4 ans

Thomas Noël a écrit :

Parles-tu de jouer une vérification lors du tmp-upload ajax ? (Si oui, ce n'est pas une mince affaire)

Vérifier le content-type du fichier envoyé en ajax pourrait déjà être une première étape, non?

#4

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

Oui l'intitulé de ce ticket dit "après son upload" mais ça devrait être avant (comme la taille).

#5

Mis à jour par Serghei Mihai il y a environ 4 ans

  • Sujet changé de vérifier le format du fichier chargé après son upload à vérifier le format du fichier chargé avant son upload

Corrigé.

#7

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

#9

Mis à jour par Nicolas Roche il y a presque 4 ans

ça marche bien... mais avec .split(',')

<<<
accepted_mimetypes = accepted_mimetypes.split('');
---
accepted_mimetypes = accepted_mimetypes.split(',');
>>>

(via la page d'administration, il n'y a pas moyen de spécifier plusieurs types mimes dans l'attribut accept de la balise input ? -> pour savoir comment tester si besoin)

#10

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

Oui, la virgule a été perdue dans un dernier rebase

#11

Mis à jour par Nicolas Roche il y a presque 4 ans

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

Ok, si le point ci-dessous n'est pas problématique.
(Concernant mon interrogation, si je force l'attribut 'accept="application/json, text/csv' via l'inspecteur du navigateur,
alors l'espace derrière la virgule fait que le type mime n'est pas reconnu.)

#12

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

(Concernant mon interrogation, si je force l'attribut 'accept="application/json, text/csv' via l'inspecteur du navigateur,

Oui on n'imagine pas continuer à fonctionner avec des pages manuellement détériorées.

#13

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

  • Statut changé de Solution validée à Résolu (à déployer)
commit d286bcfbfe3bb7e0c3c062f8877a7308f3b6171a
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Sat Apr 25 21:01:49 2020 +0200

    misc: check file type before upload (#40932)
#14

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

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

Formats disponibles : Atom PDF