Jak przesłać wiele plików przy użyciu ASP i C #


Jestem nowy w tym biznesie, więc bądź cierpliwy. Oto mój kod. Pobiera tylko jeden plik, nawet jeśli wybrano wiele.
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();
}

Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

to nie jest sposób, możesz albo spakować wszystkie wybrane pliki po stronie serwera i pobrać tylko plik zip, albo możesz spróbować użyć kodu po stronie klienta, aby otworzyć wiele pobrań okien, ale myślę, że w tym przypadku niektóre przeglądarki mogą potencjalnie blokować wyskakujące okienka z ich blokowaniem wyskakujących okienek.
na przykład, tworzysz stronę o nazwie download.aspx (lub po prostu moduł obsługi http), a następnie wywołujesz ją wiele razy za pomocą JavaScript:
window.open("download.aspx?id=id of file1");
window.open("download.aspx?id=id of file2");

sprawdź tutaj kilka pomysłów, które możesz rozwinąć bardziej szczegółowo:

ASP.NET pobiera wiele plików
http://forums.asp.net/t/1100257.aspx/1

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się