找回密码
 立即注册
收起左侧

Qt Ftp 下载问题

3
回复
7724
查看
[复制链接]
累计签到:1 天
连续签到:1 天
来源: 2013-4-5 17:35:05 显示全部楼层 |阅读模式
1Qter豆
      请问,我按照《qt creater》快速入门教程编写的ftp程序,下载文本文件时,在程序当前目录存在文件,但文件内容为空,请问这是什么问题。。在http下载中也碰到了这个问题。也就是写入文件失败。
       在ftp中:
  1.     QString fileName = ui->treeWidget->currentItem()->text(0);
  2.     QFile *file = new QFile(fileName);
  3.     if (!file->open(QIODevice::WriteOnly)){
  4.         delete file;
  5.         return;
  6.     }
  7.     ui->downloadButton->setEnabled(false);
  8.     ftp->get(ui->treeWidget->currentItem()->text(0), file);
复制代码
如果是文本文件,在程序的根目录下存在文件filename,但的内容为空。

在另一个程序中,也碰到了这个问题:
  1. QByteArray str=ftp->readAll();

  2.                     if(!file->open(QIODevice::WriteOnly)){
  3.                         qDebug()<<"file open error";
  4.                         delete file;
  5.                         return;
  6.                     }
  7.                    qint64 t= file->write(str);
  8.                    qDebug()<<t;
复制代码
根据qDebug()<<t;输出信息可以知道文件的写入的字节数,,但问题是在程序的根目录下存在文件filename,但的内容为空。


                    {:soso_e132:}求救????????


最佳答案

查看完整内容

嗯。对于I/O设备,一定记着打开操作完成后要关闭,不然会出现很多问题的。
回复

使用道具 举报

累计签到:1569 天
连续签到:1 天
2013-4-5 17:35:06 显示全部楼层
嗯。对于I/O设备,一定记着打开操作完成后要关闭,不然会出现很多问题的。
参与人数 1人气 +1 收起 理由
dreamer + 1 对我帮助很大!

查看全部评分总评分 : 人气 +1

回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2013-4-5 21:52:21 显示全部楼层
本帖最后由 dreamer 于 2013-4-5 21:55 编辑

原来是,QFile *fille设置为全局变量,以方便在以后写入下载文件后,再关闭文件file->close(),如果不关闭,小文件可能下载失败。。。。。
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2013-4-5 21:54:33 显示全部楼层
咦,不能自己结自己的贴??????@yafeilinux

点评

好像不能啊,自己不能选择自己的。  发表于 2013-4-5 23:09
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了