Qt---QFtp上传、下载二进制文件

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFtp>
#include <QDebug>
#include <QFile>
#include <QDataStream>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QFtp *ftp = new QFtp(this);
    ftp->connectToHost("192.168.1.99", 21);
    ftp->login();
    ftp->cd("/mtp/blk/");

    //将"0x10"以二进制的方式写到"ftp://192.168.1.99/mtp/blk/2.txt"中
    int a = 0x10;
    uchar *p = (uchar *)&a;
    uchar bf[10];
    bf[0] = p[0];
    bf[1] = p[1];
    bf[2] = p[2];
    bf[3] = p[3];
    bf[4] = '\0';
    qDebug() << p[0] << p[1] << p[2] << p[3];
    ftp->put((const char*)bf, "2.txt"); 

    //将服务器上的文件下载到本地
    QFile *file;
    file = new QFile("2.txt");
    if(!file->open(QIODevice::WriteOnly))
        qDebug() << "服务器上的文件打开失败";
    ftp->get("2.txt", file);
    file->close();

    //下载到本地后打开,读出数据
    if(!file->open(QIODevice::ReadOnly))
        qDebug() << "本地文件打开失败";
    char bf1[10];
    QDataStream in(&file);
    in.readRawData((char *)&bf, 4);
    file->close();
    int aa;
    memcpy(&a, bf1, 4);
    qDebug() << aa;

    ftp->close();
}

MainWindow::~MainWindow()
{
    delete ui;
}

运行结果:

16 0 0 0
16
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值