我想将从服务器上的数据读取到内存中,通过http,每次读取到的QByteArray是有值得,但是写入到QBuffer中却好像是空得
//将数据保存到内存中
QByteArray wavByteArray;
QBuffer wavBuffer(&wavByteArray);
MainWindow::MainWindow(QWidget *parent):
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//wavBuffer变量打开读写权限
wavBuffer.open(QBuffer::ReadWrite);
。。。。。。
void MainWindow::on_finished()
{
wavBuffer.close();
wavBuffer.open(QBuffer::ReadWrite);
//网络相应结束
QFileInfo fileInfo;
fileInfo.setFile(downloadedFile->fileName());
//删除,关闭
downloadedFile->close();
delete downloadedFile;
downloadedFile = Q_NULLPTR;
getReply->deleteLater();
getReply = Q_NULLPTR;
}
//主要是进行网络资源的保存操作
void MainWindow::on_readyRead()
{
qDebug()<<"on_readyRead()";
wavBuffer.open(QBuffer::WriteOnly);
QByteArray tempArray = getReply->readAll();
qDebug()<<tempArray;
wavBuffer.write(tempArray);
}
输出wavBuffer得时候
qDebug()<<"wavBuffer.buffer()="<<wavBuffer.buffer();
qDebug()<<"wavByteArray="<<wavByteArray;
根本就不打印
能将服务器上得数据完整得写入内存中
没有写入内存,你的写入后关闭buffer