5

私はこれでかなり新しいので、我慢してください。これが私のコードです。複数が選択されていても、1つのファイルのみをダウンロードします。

foreach(String fileName in fileNameList)
{
    FileInfo updateFile = new FileInfo("C:/inetpub/wwwroot/w4/DanyaWebReports/Data/" + fileName);
    Response.ContentType = "application/octet-stream";
    Response.AddHeader("content-disposition", "attachment;filename=\"" + Path.GetFileName(updateFile.FullName) + "\"");
    Response.AddHeader("content-length", updateFile.Length.ToString());
    Response.TransmitFile(updateFile.FullName);
    Response.Flush();
}
4

1 に答える 1

14

選択したすべてのファイルをサーバー側で圧縮して zip ファイルのみをダウンロードするか、クライアント側のコードを使用して複数のダウンロード ウィンドウを開くことができますが、その場合、一部のブラウザがブロックする可能性があると思います。ポップアップ ブロッカーを使用したポップアップ。

たとえば、download.aspx (または単に http ハンドラー) というページを作成し、JavaScript を介して複数回呼び出します。

window.open("download.aspx?id=id of file1");
window.open("download.aspx?id=id of file2");

さらに詳しく説明できるいくつかのアイデアについては、ここを確認してください。ASP.NET 複数のファイルをダウンロード

于 2013-01-08T22:07:04.690 に答える