使用MFC WinInet进行FTP中文件的简单上传和下载功能

  建立基于对话框的MFC应用程序CMfcFtpWinInetDlg:

  1、首先Dlg类中包含头文件 #include "afxinet.h"

  2、添加成员变量:

C++ Code


1
2
3
 
  private:

    CFtpConnection*     m_pFtpConnection;

    CInternetSession    m_Session;

 

  3、在OnInitDialog中加入Ftp连接代码:

C++ Code


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
// TODO: Add extra initialization here

m_pFtpConnection = NULL;

try

{

// Here usr is the username, pwd is the password

// and ftpsite.com is the name of the ftp site which

// you want to connect to.

m_pFtpConnection = m_Session.GetFtpConnection(_T("localhost"), _T("Manager"), _T("kingview"), INTERNET_INVALID_PORT_NUMBER);

}

catch(CInternetException *pEx)

{

pEx->ReportError(MB_ICONEXCLAMATION);

m_pFtpConnection = NULL;

pEx->Delete();

}

  4、在OK和Cancel按钮中加入关闭Ftp连接代码:

C++ Code


1
2
3
4
5
6
 
// TODO: Add your control notification handler code here

m_Session.Close();

m_pFtpConnection->Close();

if(m_pFtpConnection != NULL)

delete m_pFtpConnection;

   5、添加Upload以及Download按钮代码:

C++ Code


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
void CMfcFtpWinInetDlg::OnBnClickedBtnUpload()

{

// TODO: Add your control notification handler code here

CFileFind Finder;

CString strFileName;

// Here c:\\Myfile.bmp is the name of the file that you want

// to upload. It neednt necessarily be a bitmap file. You

// can upload any file that you want to.

// The CString strFileName is used so that the same name

// is uploaded to the ftp server.

// After uploading, the file in the ftp server will have

// the same name as your local file.

// You can also rename it to anything

if(Finder.FindFile(_T("F:\\hot.gif"))==TRUE)

{

Finder.FindNextFile();

strFileName = Finder.GetFileName();

Finder.Close();

}

BOOL bUploaded = m_pFtpConnection->PutFile( _T("F:\\hot.gif"),

strFileName,

FTP_TRANSFER_TYPE_BINARY,

1);

AfxMessageBox(_T("Uploaded Successfully"));

}

void CMfcFtpWinInetDlg::OnBnClickedBtnDownload()

{

// TODO: Add your control notification handler code here

BOOL bDownloaded = m_pFtpConnection->GetFile(   _T("hot.gif"),

_T("D:\\hot.gif"),

TRUE,

FILE_ATTRIBUTE_NORMAL,

FTP_TRANSFER_TYPE_BINARY,

1);

AfxMessageBox(_T("Downloaded Successfully"));

}

   API参数说明,请参考MSDN。

原文地址:https://www.cnblogs.com/MakeView660/p/9225575.html

时间: 2024-10-28 22:02:25

使用MFC WinInet进行FTP中文件的简单上传和下载功能的相关文章

基于commons-net实现ftp创建文件夹、上传、下载功能

原文:http://www.open-open.com/code/view/1420774470187 package com.demo.ftp; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter

Java实现FTP文件与文件夹的上传和下载

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”.用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件.在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)."下载"文件就是从远程主机拷贝文件至自己的计算机上:&quo

Java实现FTP文件与文件夹的上传和下载1

Java实现FTP文件与文件夹的上传和下载 http://www.cnblogs.com/winorgohome/archive/2016/11/22/6088013.html FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”.用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件.在FTP的使用当中,用户经常遇

iOS开发中文件的上传和下载功能的基本实现-备用

感谢大神分享 这篇文章主要介绍了iOS开发中文件的上传和下载功能的基本实现,并且下载方面讲到了大文件的多线程断点下载,需要的朋友可以参考下 文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代码. 主控制器的关键代码: 复制代码代码如下: YYViewController.m#import "YYViewController.h" #define YYEnc

JavaWeb中的文件上传和下载功能的内容就这么多

一.开发环境搭建 创建一个FileUploadAndDownLoad项目,加入Apache的commons-fileupload文件上传组件的相关Jar包,如下图所示: 二.实现文件上传 2.1.文件上传页面和消息提示页面 upload.jsp页面的代码如下: 1<%@ page language="java" pageEncoding="UTF-8"%> 2<!DOCTYPE HTML> 3<html> 4<head>

C#实现FTP文件的上传、下载功能、新建目录以及文件的删除

本来这篇博文应该在上周就完成的,可无奈,最近工作比较忙,没有时间写,所以推迟到了今天.可悲的是,今天也没有太多的时间,所以决定给大家贴出源码,不做详细的分析说明,如果有不懂的,可以给我留言,我们共同讨论. using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Security.Cryptography; using Sys

Android-对相册中的图片进行上传或下载

目标效果:     打开相册选择一张图片,会显示到上方的ImageView中并存储到Bmob中,存储后进入Bmob后台,复制刚才添加的数据的objectId,粘贴到代码指定出,然后运行,点击下载会在下方的ImageView显示刚才上传的图片,这里的下载是指定objectId,可以进行动态获取objectId进行下载. 1.activity_main.xml页面设置布局. activity_main.xml页面: <RelativeLayout xmlns:android="http://s

JS开发——文件夹的上传和下载

文件夹上传:从前端到后端 文件上传是 Web 开发肯定会碰到的问题,而文件夹上传则更加难缠.网上关于文件夹上传的资料多集中在前端,缺少对于后端的关注,然后讲某个后端框架文件上传的文章又不会涉及文件夹.今天研究了一下这个问题,在此记录. 先说两个问题: 是否所有后端框架都支持文件夹上传? 是否所有浏览器都支持文件夹上传? 第一个问题:YES,第二个问题:NO 只要后端框架对于表单的支持是完整的,那么必然支持文件夹上传.至于浏览器,截至目前,只有 Chrome 支持. 如果需要其它的浏览器支持则需要

利用putty实现文件在linux上传和下载

利用putty实现文件上传和下载:1.打开windows命令提示符窗口d:(putty在d盘下)cd putty(pscp.exe所在目录)2:上传(主要利用pscp程序)pscp d:/jdk-8u111-linux-x64.tar.gz [email protected]:/usr/javafiles/pscp d:/demo.war [email protected]:/usr/javafiles/3:下载(主要利用pscp程序)pscp [email protected]:/usr/ja