• 9952阅读
  • 6回复

[提问]qt使用ftp怎么上传不是程序目录下的文件? [复制链接]

上一主题 下一主题
离线wangyan23888
 

只看楼主 倒序阅读 楼主  发表于: 2014-02-10
下面是我程序运行后打开对话框选择软件目录下的文件是可以打开的

QString file_full, file_name, file_path;
QFileInfo fi;
QString fileName;
file_full = QFileDialog::getOpenFileName(this);
fi = QFileInfo(file_full);
file_name = fi.fileName();
file_path = fi.absolutePath();
qDebug()<<file_full;
qDebug()<<file_name;
qDebug()<<file_path;

fileName = QString(file_name);
localFile[0] =new QFile(fileName);
ftpClient->put(localFile[0], fileName);
curStatus=PUT;
如果对话框选择的是其他目录下的文件要上传,这个需要怎么处理,谢谢,比如
上面的qDebug()<<file_full;输出是"C:/Documents and Settings/Administrator/桌面/7号配置文档.txt" 就是将桌面的7号配置文档.txt 上传上面的需要怎么修改,谢谢

离线wangyan23888

只看该作者 1楼 发表于: 2014-02-10
不知各位有好的方法吗?我现在暂时先将文件复制到跟目录下,然后再上传了
离线dbzhang800

只看该作者 2楼 发表于: 2014-02-11
直接传就可以,但是你要保证put()的第二个参数必须是合法的服务端的文件名。
离线noidea

只看该作者 3楼 发表于: 2014-02-11
从你的问题看,你要选择本地其他目录下的文件, 这个似乎没有什么问题。
你在弹出上传对话框中,无法选择其他文件吗?
还是你上传选中文件不成功呢?

从你的代码上看你用的是Qt4.x,Qt5.x中QFtp已经不在和SDK一起发布了。

talk in code
Qt5.2.1 + MacOSX10.9
离线wangyan23888

只看该作者 4楼 发表于: 2014-02-12
回 dbzhang800 的帖子
dbzhang800:直接传就可以,但是你要保证put()的第二个参数必须是合法的服务端的文件名。 (2014-02-11 09:18) 

哦,是不是要带上路径的?
离线wangyan23888

只看该作者 5楼 发表于: 2014-02-12
回 noidea 的帖子
noidea:从你的问题看,你要选择本地其他目录下的文件, 这个似乎没有什么问题。
你在弹出上传对话框中,无法选择其他文件吗?
还是你上传选中文件不成功呢?
从你的代码上看你用的是Qt4.x,Qt5.x中QFtp已经不在和SDK一起发布了。
....... (2014-02-11 14:07) 

可以选择文件,上传不成功,除非是和exe运行程序在一起的可以上传
离线dbzhang800

只看该作者 6楼 发表于: 2014-02-12
回 wangyan23888 的帖子
wangyan23888:哦,是不是要带上路径的? (2014-02-12 09:01) 

不带路径简单,带路径应该也没问题。(但是你上面使用试图使用本地的路径就不对了)
快速回复
限100 字节
 
上一个 下一个