Hace unos días, se agregó al sistema la función de descarga de administración de archivos. Debe implementarse en el archivo ASPX para controlar los permisos.
Entonces agregue el siguiente código:
...
Response.ContentType = mime; // TIPO MIME correspondiente
Response.AppendHeader ("Disposición de contenido", "adjunto; nombre de archivo ="" +nombre de archivo + """);
Response.BinaryWrite(bytes);
Respuesta.End();
...
Cuando fileName contiene caracteres chinos, cuando el archivo se descarga y guarda, el nombre del archivo se vuelve confuso y el usuario debe modificarlo, lo que anula mi intención original de establecer el nombre de archivo predeterminado.
Solución 1: codifique en URL el nombre del archivo y cambie la oración subrayada a
Response.AppendHeader("Disposición de contenido", "adjunto; nombre de archivo="" + Server.UrlEncode(nombre de archivo) + """);
Eso es todo.
Aunque el problema de los caracteres chinos confusos se ha resuelto, todavía hay otro problema: durante la prueba, el nombre del archivo descargado y guardado a veces se convierte en el nombre de la página (.aspx). Aunque el contenido se puede descargar localmente, el archivo. Es necesario cambiar el nombre y el tipo, lo que causará una gran confusión a los usuarios.
Hay otra forma de resolver fácilmente los dos problemas anteriores:
Solución 2: Supongamos que la URL actual es http://localhost/download.aspx?id=123 y el nombre del archivo es "Download.pdf", solo necesitamos cambiar la URL de descarga a http://localhost/download.aspx
embargo , el código subrayado arriba se puede comentar. Pruébelo, ¡quedará muy satisfecho con el resultado!