Development #28002
servir les fichiers svg sous forme d'attachment
0%
Description
Pour éviter leur ouverture dans le navigateur avec possible exécution de javascript intégré. (bien sûr ça n'empêche pas de télécharger le fichier puis de l'ouvrir, mais ce ne sera pas dans le contexte http du site)
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Fichier 0001-misc-serve-svg-files-as-attachments-28002.patch 0001-misc-serve-svg-files-as-attachments-28002.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Thomas Noël il y a plus de 5 ans
Normalement en HTML c'est pas plutôt l'attribut "download" sur l'ancre qui gère l'affaire facilement ?
Mis à jour par Frédéric Péters il y a plus de 5 ans
Oui mais ça n'est pas suffisant (il y est déjà).
Mis à jour par Frédéric Péters il y a plus de 5 ans
If Content-Disposition: is set to inline, Firefox prioritizes Content-Disposition, like the filename case, while Chrome prioritizes the download attribute. — https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a
Mis à jour par Thomas Noël il y a plus de 5 ans
- Statut changé de Solution proposée à Solution validée
Frédéric Péters a écrit :
Oui mais ça n'est pas suffisant (il y est déjà).
En fait je pensais à
diff --git a/wcs/admin/workflows.py b/wcs/admin/workflows.py index dccd494e..aa83ae3c 100644 --- a/wcs/admin/workflows.py +++ b/wcs/admin/workflows.py @@ -1505,7 +1505,7 @@ class WorkflowPage(Directory): if self.workflow.possible_status: r += htmltext('<div class="bo-block">') r += htmltext(graphviz(self.workflow, include=True)) - r += htmltext('<div class="full-screen-link"><a href="schema.svg">%s</a></div>') % _('Full Screen') + r += htmltext('<div class="full-screen-link"><a href="schema.svg" download>%s</a></div>') % _('Full Screen') r += htmltext('</div>') # bo-block formdefs = [x for x in FormDef.select() if x.workflow_id == self.workflow.id]
mais je dois rater quelque chose de trivial
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
mais je dois rater quelque chose de trivial
On ne parle pas de ce fichier mais des fichiers SVG qu'un usager pourrait avoir uploadé.
Pour ceux-là on tape déjà l'attribut download :
wcs/fields.py: t += htmltext('<a download="%s" href="[download]?f=%s">') % (value.base_filename, self.id)
J'ai précisé le message de commit,
commit 2e7bd9fe33c10c38a81d8d618351118aeee5443c Author: Frédéric Péters <fpeters@entrouvert.com> Date: Wed Nov 14 19:59:01 2018 +0100 misc: serve svg files uploaded by users as attachments (#28002)
Mis à jour par Thomas Noël il y a plus de 5 ans
Frédéric Péters a écrit :
mais je dois rater quelque chose de trivial
On ne parle pas de ce fichier mais des fichiers SVG qu'un usager pourrait avoir uploadé.
Je savais bien que je n'avais rien compris. Je vais faire comme Emmanuel, retourner dans ma cave et arrêter de parler quelques heures.
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
misc: serve svg files uploaded by users as attachments (#28002)