Il y a quelques jours, la fonction de téléchargement de gestion de fichiers a été ajoutée au système. Elle doit être implémentée dans le fichier ASPX pour contrôler les autorisations.
Ajoutez donc le code suivant :
...
Response.ContentType = mime; //TYPE MIME correspondant
Response.AppendHeader("Content-Disposition", "attachment; filename="" +fileName + """);
Response.BinaryWrite(bytes);
Réponse.End();
...
Lorsque fileName contient des caractères chinois, lorsque le fichier est téléchargé et enregistré, le nom du fichier devient tronqué et doit être modifié par l'utilisateur, ce qui va à l'encontre de mon intention initiale de définir le nom de fichier par défaut.
Solution 1 : encodez l'URL fileName et remplacez la phrase soulignée par
Response.AppendHeader("Content-Disposition", "attachment; filename="" + Server.UrlEncode(fileName) + """);
C'est ça.
Bien que le problème des caractères chinois tronqués ait été résolu, il reste encore un autre problème : lors des tests, le nom du fichier téléchargé et enregistré devient parfois le nom de la page (.aspx). Bien que le contenu puisse être téléchargé localement, le fichier. le nom et le type doivent être modifiés, cela créera une grande confusion pour les utilisateurs.
Il existe une autre manière de résoudre facilement les deux problèmes ci-dessus :
Solution 2 : Supposons que l'URL actuelle soit http://localhost/download.aspx?id=123 et que le nom du fichier soit "Download.pdf", il nous suffit de modifier l'URL de téléchargement en http://localhost/download.aspx /download . pdf?id=123 Cependant, le code souligné ci-dessus peut être commenté. Essayez-le, vous serez très satisfait du résultat