Название: Загрузка файлов 2гб и больше Отправлено: Zusykss от Август 08, 2017, 21:32 Слушайте загружаю файл 2гб из сайта на комп, пример ссылки
http://shareae.com/after-effects-presets/10190-red-giant-complete-suite-2017-for-adobe-cs5-cc-2017-for-win.html Когда программа доходит до скачивания 1,8 гб, вылетает ошибка и программа завершается, хотя памяти на компе задействовано 57% В чем может быть причина. Файлы меньше 1 гига, по 200мб, 50, 60 , качаются без проблем :-\ И еще вопрос, правильно я сохраняю большие файлы, Код: if(archive.open(QIODevice::WriteOnly)) За ранее Благодарю! Название: Re: Загрузка файлов 2гб и больше Отправлено: qate от Август 08, 2017, 23:34 В чем может быть причина. очевидно нужно включить отладчик, да посмотреть Название: Re: Загрузка файлов 2гб и больше Отправлено: Zusykss от Август 09, 2017, 06:39 В чем может быть причина. очевидно нужно включить отладчик, да посмотреть А что, там смотреть ? Я запускаю программу она качает файлы записывает их на диск, если попадает файл больше 2 гигов, она его качает доходит до 1820мб , я по памяти смотрел в TaskMAnager, и вылететает. Есть возможность сразу писать в поток? Название: Re: Загрузка файлов 2гб и больше Отправлено: qate от Август 09, 2017, 09:29 А что, там смотреть ? Я запускаю программу она качает файлы записывает их на диск, если попадает файл больше 2 гигов, она его качает доходит до 1820мб , я по памяти смотрел в TaskMAnager, и вылететает. Есть возможность сразу писать в поток? очевидно, что отладчик остановится в месте сбоя и покажет где и что, а не просто "программа вылетает" что такое "сразу писать в поток" ? Название: Re: Загрузка файлов 2гб и больше Отправлено: Zusykss от Август 09, 2017, 10:08 очевидно, что отладчик остановится в месте сбоя и покажет где и что, а не просто "программа вылетает" что такое "сразу писать в поток" ? [/quote] Я сейчас тестирую вариант, через сигнал QObject::connect(m_reply, &QNetworkReply::readyRead, this, &LoaderVideo::ReplyFinished); QDataStream fout(file); fout << m_reply->readAll(); Я считываю частями, и записываю. Возможно это как раз то, что мне нужно. Название: Re: Загрузка файлов 2гб и больше Отправлено: ssoft от Август 09, 2017, 10:10 Причина в том, что ОС не может выделить больше оперативной памяти для приложения 32 bit разрядности.
Не пытайтесь закачать файл в оперативную память целиком. При скачивании части, которые уже записали в файл необходимо удалять из оперативной памяти. Закачали часть -> дописали в конец файла -> удалили закачанную часть. То есть должно быть что-то вроде Код
Название: Re: Загрузка файлов 2гб и больше Отправлено: Zusykss от Август 09, 2017, 11:12 Причина в том, что ОС не может выделить больше оперативной памяти для приложения 32 bit разрядности. Не пытайтесь закачать файл в оперативную память целиком. При скачивании части, которые уже записали в файл необходимо удалять из оперативной памяти. Закачали часть -> дописали в конец файла -> удалили закачанную часть. То есть должно быть что-то вроде Код
Благодарю за ответ, так и делаю... Название: Re: Загрузка файлов 2гб и больше Отправлено: Zusykss от Август 09, 2017, 12:12 Благодарю всех за ответы. Решение найдено.
;D |