【问题标题】:Saving downloaded file in Qt在 Qt 中保存下载的文件
【发布时间】:2012-12-07 14:16:19
【问题描述】:

每当有人单击链接时,我都会调用我的插槽,并且我知道文件在那里,因为我可以检索文件名和文件的字节数,只是在调用 QFileDialog 后不确定如何保存它: :getSaveFileName?我知道如果用户决定更改文件,这会给我文件的名称,但是我如何获取他们决定保存文件的位置,然后将其写入该位置。

注意:如果这有什么不同,他们将下载的文件是一个 word 文档?

void MainWindow::unsupportedContent(QNetworkReply *reply) {

    qDebug() << "Left click - download!";
    qDebug() << "Bytes to download: " << reply->bytesAvailable();

    QString str = reply->rawHeader("Content-Disposition");

    QString end = str.mid(21);
    end.chop(1);

    qDebug() << "string: " << end;

    qDebug() << "File name: " << reply->rawHeader("Content-Disposition");
    qDebug() << "File type: " << reply->rawHeader("Content-Type");
    QString defaultFileName = QFileInfo(end).fileName();
    QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"), defaultFileName);
    if (fileName.isEmpty()) return;


    QFile *file = new QFile(fileName);
    file->open(fileName);
    file->write(reply->read(reply->bytesAvailable()));
    file->close();
}

【问题讨论】:

    标签: c++ qt


    【解决方案1】:

    今天我在另一篇文章中解释了它,所以我将在此处链接该帖子:Post 我可以告诉你,你只需要实现一个写入你创建的文件的插槽。并在发出 readyRead() 信号时调用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-24
      • 1970-01-01
      相关资源
      最近更新 更多