J’ai des utilisateurs d’ingénierie qui souhaitent joindre des fichiers de données avec des extensions de fichiers inhabituelles à leurs publications. Ce sont essentiellement des fichiers texte brut, mais ils incluent des caractères ASCII étendus.
J’ai essayé de mettre à jour la configuration NGINX de Discourse pour spécifier les types de médias MIME pour ces fichiers, mais cela n’a pas fonctionné. J’ai posté un sujet (How to customize MIME media type emitted for certain attachments?) à ce sujet il y a deux semaines, mais je n’ai reçu aucune réponse jusqu’à présent. Même si NGINX n’est pas mis à jour, il servira toujours les types de fichiers inconnus en utilisant le type MIME de repli “application/octet-stream”. Je peux vivre avec ça pour l’instant.
Cependant, lorsque les utilisateurs essaient de télécharger ces fichiers de données dans une publication (en utilisant le bouton “Télécharger” ou le glisser-déposer), ils reçoivent un message d’erreur de Discourse comme celui-ci :
Il semble que lorsque les utilisateurs téléchargent des fichiers, Discourse essaie d’être intelligent et de détecter s’il s’agit d’une image ou d’un autre type de fichier. De plus, il semble faire cette détermination en examinant le contenu du fichier (un peu comme la commande Unix standard “file”). Je suppose que c’est pour que Discourse puisse décider s’il doit l’intégrer au contenu de la publication ou le placer sur le côté en tant que pièce jointe.
Dans le cas de ces fichiers de données, cette vérification identifie incorrectement les fichiers comme des images. Juste pour le plaisir, j’ai mis certains de ces fichiers de données sur une machine Ubuntu et je les ai vérifiés avec la commande “file”, et effectivement, ils ont été identifiés comme “données d’image JPEG”.
Existe-t-il un moyen pour les utilisateurs de télécharger des fichiers sans que Discourse essaie de détecter s’il s’agit d’images ? C’est-à-dire, “Veuillez télécharger ceci en tant que pièce jointe, quoi qu’il arrive, ne l’intégrez pas” ?
Alternativement, je pourrais configurer Discourse pour autoriser les fichiers zip et dire aux utilisateurs de zipper leurs fichiers avant de les télécharger, mais je préférerais ne pas ouvrir le site aux téléchargements de fichiers zip aléatoires. Cela semble être un problème de sécurité.
Merci d’avance pour toute aide !




