QNetworkAccessManager 实现的 ftp 上传
使用 QNetworkAccessManager 实现的 ftp 上传代码。完整可用,做个备忘。
#include "mainwindow.h"
#include <QDebug>
#include <QObject>
#include <QFile>
#include <QTime> #include <QtGui> MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
manager = new QNetworkAccessManager; QPushButton *btnUpload = new QPushButton("Upload");
connect(btnUpload,SIGNAL(clicked()),this,SLOT(upload2Ftp())); // QHBoxLayout *layoutMain = new QHBoxLayout;
// layoutMain->addWidget(btnUpload); // centralWidget()-> setLayout(layoutMain);
setCentralWidget(btnUpload);
} MainWindow::~MainWindow()
{ } void MainWindow::upload2Ftp()
{
QFile txt1("./test.txt"); txt1.open(QIODevice::ReadOnly); qDebug()<<txt1.isOpen(); QByteArray by_txt=txt1.readAll(); txt1.close(); qDebug()<<by_txt.toHex(); QUrl u("ftp://192.168.1.230"); u.setPath("/opt/myapp/test.txt"); // u.setPort(21); u.setUserName("root"); u.setPassword("fa"); QNetworkReply *putReply = manager->put(QNetworkRequest(u), by_txt); connect(putReply, SIGNAL(finished()), this, SLOT(slotFinished())); connect(putReply, SIGNAL(error(QNetworkReply::NetworkError)),
this, SLOT(slotError(QNetworkReply::NetworkError)));
} void MainWindow::slotFinished()
{
QNetworkReply *reply = (QNetworkReply *)sender(); if(reply->error() == QNetworkReply::NoError)
{
qDebug()<<"Succed!";
}
else
{
qDebug()<<"Check & Retry!";
}
} void MainWindow::slotError(QNetworkReply::NetworkError errno)
{
QNetworkReply *reply = (QNetworkReply *)sender(); qDebug()<<"Network Error:"<<reply->errorString();
} //==================mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H #include <QMainWindow>
#include <QNetworkAccessManager> #include <QUrl>
#include <QNetworkRequest>
#include <QNetworkReply> class MainWindow : public QMainWindow
{
Q_OBJECT public:
explicit MainWindow(QWidget *parent = );
~MainWindow(); private:
QNetworkAccessManager *manager; private slots:
void upload2Ftp();
void slotFinished();
void slotError(QNetworkReply::NetworkError errno);
}; #endif // MAINWINDOW_H //=====================*.pro
#-------------------------------------------------
#
# Project created by QtCreator --24T16::
#
#------------------------------------------------- QT += core gui network TARGET = ftpDemo
TEMPLATE = app SOURCES += main.cpp\
mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui
QNetworkAccessManager 实现的 ftp 上传的更多相关文章
- Qt5---ftp上传功能(使用组合的办法实现功能,QNetworkAccessManager自动管理分片上传,用QLoggingCategory屏蔽SSL警告)
从Qt的版本进化中可以知道,在Qt4中的QFtp类到了Qt5中已经没有了,虽然可以通过在Qt5中自己编译出QFtp,但是Qt5中提供的QNetworkAccessManager在发送和请求网络方面 ...
- .net FTP上传文件
FTP上传文件代码实现: private void UploadFileByWebClient() { WebClient webClient = new WebClient(); webClient ...
- 通过cmd完成FTP上传文件操作
一直使用 FileZilla 这个工具进行相关的 FTP 操作,而在某一次版本升级之后,发现不太好用了,连接老是掉,再后来完全连接不上去. 改用了一段时间的 Web 版的 FTP 工具,后来那个页面也 ...
- FTP上传文件到服务器
一.初始化上传控件. 1.我们这里用dropzone.js作为上传控件,下载地址http://www.dropzonejs.com/ 2.这里我们使用一个div元素作为dropzone载体. < ...
- 再看ftp上传文件
前言 去年在项目中用到ftp上传文件,用FtpWebRequest和FtpWebResponse封装一个帮助类,这个在网上能找到很多,前台使用Uploadify控件,然后在服务器上搭建Ftp服务器,在 ...
- 【完整靠谱版】结合公司项目,仔细总结自己使用百度编辑器实现FTP上传的完整过程
说在前面 工作中会遇到很多需要使用富文本编辑器的地方,比如我现在发布这篇文章离不开这个神器,而且现在网上编辑器太多了.记得之前,由于工作需要自己封装过一个编辑器的公共插件,是用ckeditor改版的, ...
- FTP上传文件提示550错误原因分析。
今天测试FTP上传文件功能,同样的代码从自己的Demo移到正式的代码中,不能实现功能,并报 Stream rs = ftp.GetRequestStream()提示远程服务器返回错误: (550) 文 ...
- JAVA 实现FTP上传下载(sun.net.ftp.FtpClient)
package com.why.ftp; import java.io.DataInputStream; import java.io.File; import java.io.FileInputSt ...
- FTP上传-封装工具类
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
随机推荐
- TinyFrame升级之十:WCF Rest Service注入IOC的心
由于在实际开发中,Silverlight需要调用WebService完成数据的获取,由于之前我们一直采用古老的ASMX方式,生成的代理类不仅难以维护,而且自身没有提供APM模式的调用方式,导致在Sin ...
- js时间倒计时
看了网上的其他的例子,觉得写的都有点复杂,不好理解,于是自己动手写了个. 本来想封装成jquery插件,但是觉得因为功能很简单,没有必要做成jquery插件,引用的时候不需要引入jqery库,这里直接 ...
- wap端开发必须基础
1. nitial-scale=1.0 确保网页加载时,以 1:1 的比例呈现,不会有任何的缩放. 在移动设备浏览器上,通过为 viewport meta 标签添加 user-scalable=no ...
- MATLAB如何定义函数
自定义函数的途径:M文件函数(M file function)在线函数(Inline Function)匿名函数(Anonymous Function)1.M文件函数范例function c=myad ...
- 前端程序员应该知道的15个 jQuery 小技巧
下面这些简单的小技巧能够帮助你玩转jQuery. 返回顶部按钮 预加载图像 检查图像是否加载 自动修复破坏的图像 悬停切换类 禁用输入字段 停止加载链接 切换淡入/幻灯片 简单的手风琴 让两个div高 ...
- java用字符写字符
import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.GraphicsEnvir ...
- 关于HTML+CSS设置图片居中的方法
有的时候我们会遇到这样一个问题,就是当我们按下F12进行使用firebug调试的时候,我们发现图像没有居中,页面底下有横向的滑动条出现,图片没能够居中,默认状态下只是紧靠在页面最左侧,而我们对图像缩小 ...
- 使用webpack搭建vue开发环境
最近几天项目上使用了vue.js作为一个主要的开发框架,并且为了发布的方便搭配了webpack一起使用.CSS框架使用的是vue-strap(vue 对bootstrap控件做了封装)这篇文章主要总结 ...
- [转]java web简单权限管理设计
原文地址:http://blog.csdn.net/zwx19921215/article/details/44467099 最近在做一个网站类型项目,主要负责后台,ui框架选型为jquery eas ...
- [转]java反射机制
原文地址:http://www.cnblogs.com/jqyp/archive/2012/03/29/2423112.html 一.什么是反射机制 简单的来说,反射机制指的是程序在运 ...