0

サーバーが実行されており、Web クライアントがそれにアクセスしてファイルをダウンロードしています。

アクセスすると

サーバー/.../MyFile/

「MyFile」という名前のファイルがダウンロードされ、ポップアップ「開く、名前を付けて保存」が表示されます。名前を付けて保存をクリックすると、提案された名前は「MyFile」です。

別の名前に変更するにはどうすればよいですか?

ps /MyFile を /SomeOtherFile に変更することはできません。このリンクには、サーバーによって実行される作業に応じて、毎回別のファイルが含まれているためです。したがって、名前を付けて保存の提案「MyFile」は無意味です。実際にダウンロードしたファイルの名前を提案したいと思います。

ありがとうゆら

4

2 に答える 2

1

このヘッダーを一緒に送信する必要があります。

content-disposition: attachment; filename="somefilename.ext"

Asp.Net では次のようになります。しかし、どの言語、フレームワーク、サーバーを使用していますか?

context.Response.AddHeader("content-disposition", "attachment; filename=\"somefilename.txt\"");

Java サーブレットを使用する場合は、次のようになります: (Java はしばらく使用されていません)

protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
    response.setHeader("content-disposition", "attachment; filename=\"somefilename.ext\"");

    //Write the file to response and maybe set content type
}
于 2010-08-11T09:25:20.597 に答える
0

すべての Web サーバーにはマッピング ファイル拡張子があり、要求がマッピング テーブル内のファイル拡張子の Web サーバー検索を行った場合、それらが見つかった場合は、aspnet_isapi.dll に渡されるすべての *.aspx ファイルと同様に、適切なハンドラーに渡します。制御はそのハンドラーに転送されましたが、.txt や .png などの通常のファイルは IIS で処理されません。それらを制御したい場合は、そのファイル拡張子を Web サーバー マッピング テーブルに追加し、その拡張子を目的のハンドラーにマップしてから、あなたはそれをコントロールすることができます

グーグル (MIME タイプ マッピング拡張機能) で役立つ記事がたくさん見つかり
ます。

于 2010-08-11T10:24:55.637 に答える