Я в классе использую класс QFile.
// .... Крутится в цикле
file.setFileName(name.toStdString().c_str());
if(!file.open(QIODevice::WriteOnly | QIODevice::Append))
{
qDebug() << "Error open file, write";
}
// Дальше делается запрос ....QNetworkAccessManager
m_reply = ptr_manager->get(m_req);
QObject::connect(m_reply, &QNetworkReply::readyRead, this, &LoaderVideo::ReplyFinished);
QObject::connect(ptr_manager.get(), &QNetworkAccessManager::finished, this, &LoaderVideo::Finished);
void LoaderVideo::ReplyFinished()
{
QByteArray m_Buffer = m_reply->readAll();
// Этот кусок кода написал, потому что из 200 файлов записывался только один, а для всех остальных пишет QFileDevice::seek: IODevice is not open
if(!file.isOpen())
{
if(!file.open(QIODevice::WriteOnly | QIODevice::Append))
{
qDebug() << "Error open file, write";
}
if(m_Load[m_index].m_absolutPath.isEmpty())
m_Load[m_index].m_absolutPath = file.symLinkTarget();
}
try
{
if(m_reply->error() == QNetworkReply::NoError)
{
// QDataStream fout(file);
// fout << m_reply->readAll();
file.write(m_Buffer);
}
else
{
const std::string str = m_reply->errorString().toStdString();
throw std::runtime_error(str.c_str());
}
}
catch(const std::exception & excep)
{
qDebug() << excep.what();
}