Cash
От: Mouse Беларусь  
Дата: 16.04.04 02:10
Оценка:
А можно ли программно запретить сохранение скачиваемого по ftp файла в cash ?
Re: Cash
От: adontz Грузия http://adontz.wordpress.com/
Дата: 16.04.04 02:31
Оценка:
Здравствуйте, Mouse, Вы писали:

M>А можно ли программно запретить сохранение скачиваемого по ftp файла в cash ?


Вам помогут в ближайшем отделении СберБанка. Так же эту услугу прилоставляют Альфа-Банк и Интеллект-Банк
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: Cash
От: Mouse Беларусь  
Дата: 16.04.04 02:40
Оценка:
Здравствуйте, adontz, Вы писали:


A>Вам помогут в ближайшем отделении СберБанка. Так же эту услугу прилоставляют Альфа-Банк и Интеллект-Банк


Насчет этого понятно — спасибо .

А как насчет cache?
Re[3]: Cash
От: adontz Грузия http://adontz.wordpress.com/
Дата: 16.04.04 02:48
Оценка: 2 (1)
Здравствуйте, Mouse, Вы писали:

M>А как насчет cache?


INTERNET_FLAG_NO_CACHE_WRITE
Does not add the returned entity to the cache. This flag is used by GopherFindFirstFile, GopherOpenFile, HttpOpenRequest, and InternetOpenUrl.

FtpGetFile судя по всему HTTP кешем не пользуется, а пишет прямо в нужный файл.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[4]: Cash
От: Mouse Беларусь  
Дата: 16.04.04 04:02
Оценка:
Здравствуйте, adontz, Вы писали:

A>INTERNET_FLAG_NO_CACHE_WRITE

A>Does not add the returned entity to the cache. This flag is used by GopherFindFirstFile, GopherOpenFile, HttpOpenRequest, and InternetOpenUrl.

A>FtpGetFile судя по всему HTTP кешем не пользуется, а пишет прямо в нужный файл.


Спасибо за ссылки на MSDN

Дело в том, что мне надо не просто забрать файл с сервера целиком и одноразово, а забирать его частями (чтобы графически показывать пользователю что за данные идут).
Поэтому FtpGetFile мне не подходит.
Я использую
CInternetFile* serverFile = NULL;
serverFile = pFtpConnection->OpenFile("ServerFile",GENERIC_READ,FTP_TRANSFER_TYPE_BINARY ,0);
...............
while (numBytes = serverFile->Read(fileBuf, FILEBUFLEN))
{
//write to HDD
localFile.Write(fileBuf, numBytes);
//do something
......
}

так вот несмотря на то, что данные пишутся в localFile, они еще и папраллельно пишутся во временный файл.
Размер файла может быть очень большой, да и двойная работа с записью на диск тоже не выглядит разумной.
Но я никак не могу это преодолеть. К сожалению OpenFile не поддерживает флага INTERNET_FLAG_NO_CACHE_WRITE
Re[5]: Cash
От: Mouse Беларусь  
Дата: 16.04.04 05:54
Оценка:
Здравствуйте, Mouse, Вы писали:

M>Здравствуйте, adontz, Вы писали:


A>>INTERNET_FLAG_NO_CACHE_WRITE

A>>Does not add the returned entity to the cache. This flag is used by GopherFindFirstFile, GopherOpenFile, HttpOpenRequest, and InternetOpenUrl.

A>>FtpGetFile судя по всему HTTP кешем не пользуется, а пишет прямо в нужный файл.



А я все-таки добавила флаг INTERNET_FLAG_NO_CACHE_WRITE в ф-цию OpenFile. Ну и что, что в MSDN об этом прямо не написано, зато работать стало как надо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.