小编Ana*_* S.的帖子

如何在QTCPSocket上发送文件及其文件名?

是否有任何简单的方法将文件发送到包含文件名的服务器,以便服务器和客户端中的文件名完全相同?

这是我的代码

寄件人

QString path = QApplication::applicationDirPath()+"/belajardansa.bmp";
QFile inputFile(path);
QByteArray read ;
inputFile.open(QIODevice::ReadOnly);
while(1)
{
    read.clear();
    read = inputFile.read(32768*8);
    qDebug() << "Read : " << read.size();
    if(read.size()==0)
       break;
    qDebug() << "Written : " << socket->write(read);
    socket->waitForBytesWritten();
    read.clear();
}
inputFile.close();
Run Code Online (Sandbox Code Playgroud)

接收器

QTcpSocket* socket = static_cast<QTcpSocket*>(sender());
QBuffer* buffer = buffers.value(socket);

QByteArray read = socket->read(socket->bytesAvailable());
qDebug() << "Read : " << read.size();

QFile file(  ???); // what should I put in the bracket???
if(!(file.open(QIODevice::Append)))
{
    qDebug("File cannot be opened.");
    exit(0);
}
file.write(read);
file.close();
Run Code Online (Sandbox Code Playgroud)

qt qtcpsocket qtcpserver qtnetwork

5
推荐指数
2
解决办法
4548
查看次数

标签 统计

qt ×1

qtcpserver ×1

qtcpsocket ×1

qtnetwork ×1