QT, sprawdzenie rozmiaru pliku przed pobraniem

0

Heja!

Czy da się w QT sprawdzić ile będzie zajmował wybrany plik przed pobraniem?

Czego bym potrzebował?

0

Okay, poradziłem sobie! :<

QNetworkReply posiada w SIGNAL metode:

downloadProgress(qint64 bytesReceived, qint64 bytesTotal)

Gdzie wystarczy przeliczyć bytesTotal na czytelniejszy format

QString downloaderWidget::sizeHuman(qint64 fileSize){
    QStringList sizeExt;
    sizeExt << "KB" << "MB" << "GB" << "TB";

    QStringListIterator it(sizeExt);
    QString units("bytes");

    float num = fileSize;

    while(num >= 1024.0 && it.hasNext()){
        units = it.next();
        num /= 1024.0;
    }
    return QString().setNum(num, 'f', 2) + " " + units;
}
3

Qt 5.10 wprowadziło gotowe rozwiązanie:

QLocale locale = this->locale();
QString valueText = locale.formattedDataSize(sizeValue);

1 użytkowników online, w tym zalogowanych: 0, gości: 1