数日前、ファイル管理のダウンロード機能がシステムに追加されました。アクセス許可を制御するには、ASPX ファイルに実装する必要があります。
したがって、次のコードを追加します。
...
Response.ContentType = mime //対応する MIME タイプ;
Response.AppendHeader("Content-Disposition", "attachment; filename="" +fileName + """)
;
Response.End();
...
fileName に中国語の文字が含まれている場合、ファイルをダウンロードして保存すると、ファイル名が文字化けしてユーザーが変更する必要があり、デフォルトのファイル名を設定するという当初の意図に反します。
解決策 1: ファイル名を URL エンコードし、下線付きの文を次のように変更します。
Response.AppendHeader("Content-Disposition", "attachment; filename="" + Server.UrlEncode(fileName) + """);
それでおしまい。
中国語の文字化けの問題は解決しましたが、テスト中に、コンテンツはローカルにダウンロードできるにもかかわらず、ダウンロードして保存したファイルの名前がページ名 (.aspx) になってしまうことがあります。名前とタイプを変更する必要があります。これはユーザーに大きな混乱を引き起こします。
上記 2 つの問題を簡単に解決する別の方法があります。
解決策 2: 現在の URL がhttp://localhost/download.aspx?id=123で、ファイル名が「Download.pdf」であるとします。ダウンロード URL をhttp://localhost/download.aspxに変更するだけで済みます。
123ただし、上記の下線付きのコードをコメントアウトしてみると、満足のいく結果が得られます。