Здравствуйте, Kingofastellarwar, Вы писали:
K>В общем как сделать правильный нетяжёлый для сервера слив файлов
K>я насобирал разных советов и родил такое, но оно под IE вообще не работает, а под остальными работает как-то неправильно, нет процедуры закачки как таковой
K>чувствую это порно, не тот метод, хотя в инете его почему-то используют
K>K>string path = Server.MapPath(/*путьььььььь*/);
K>System.IO.FileInfo fi = new FileInfo(path);
K>Response.Clear();
K>Response.ContentType = "application/octet-stream";
K>Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}", Path.GetFileName(path)));
K>Response.AddHeader("Content-Length", fi.Length.ToString());
K>long sent = 0;
K>long left = fi.Length;
K>while(left > 0)
K>{
K> if(Context.Response.IsClientConnected)
K> {
K> long block = 1024;
K> if(left < 1024)
K> {
K> block = left;
K> }
K> Response.WriteFile(path, sent, block);
K> Response.Flush();
K> sent += block;
K> left -= block;
K> }
K>}
K>Response.End();
K>
или уж пиши из файлового потока в выходной поток с буфером не менее 64к, или смотри в сторону HttpResponse.TransmitFile