j'ai le code suivantGrails - comment forcer fichier de téléchargement avec son extension
def fileDoc = new File(document.documentLocation);
if(fileDoc.exists()){
// force download
def fileName = fileDoc.getName();
response.setContentType("application/octet-stream")
response.setHeader "Content-disposition", "attachment; filename=${fileName}" ;
response.outputStream << fileDoc.newInputStream();
response.outputStream.flush();
return true;
}
documentLocation contient la chaîne comme "c: \ mondoc \ contains_some_long_string_with_id.pdf" par exemple.
Je voudrais que l'utilisateur télécharge le fichier au lieu de le voir depuis le navigateur. Il fonctionne bien sur chrome où je pourrais télécharger et le fichier apparaîtra "enregistrer sous" "contains_some_long_string_with_id.pdf"
mais dans firefox (le dernier) .. le nom de fichier est paralysé à "contient_some_long" seulement (sans pdf extension à la fin).
Comment résoudre ce problème? le fichier pourrait être csv, pdf, texte, html, zip, pdf ou autre format de fichier.
merci
mais les utilisateurs peuvent mettre des fichiers avec n'importe quel format. cela fonctionne bien sur chrome mais sur le firefox le nom de fichier sera paralysé – nightingale2k1
Votre code peut-il vérifier l'extension du fichier et définir le bon type de fichier au moment du téléchargement? Je pense que c'est peut-être la raison pour laquelle Firefox est en train de bousiller l'extension. Je pourrais toutefois avoir tord. –