NX二次开发-NX客户机与服务器FTP上传下载文件

版本:

客户端NX11+VS2013

服务器windowsServer2012R2

1.部署服务器FTP:

在桌面左下角点击“服务器管理器”。

 点击“添加角色和功能”。

下一步

 下一步

下一步

 勾选“web服务器(IIS)”

 点击“添加功能”。

 下一步。

 勾上“FTP服务器”。

 点击“安装”。

 安装完成后点击“关闭”。

 回到“服务器管理器”,点击“工具”-“IIS管理器”。

 在“网站”上点击鼠标右键,选择“添加FTP站点”。

设置站点名称和物理路径

下一步,绑定本机IP地址,设置端口号

 填上身份验证和授权信息。

完成

 

 2.客户端程序项目代码

NX11+VS2013

#include <afxinet.h>
#include <afxwin.h>
#include <uf.h>
#include <uf_ui.h>


UF_initialize();

//客户端与服务器FTP上传下载
CInternetSession *m_pInetsession;
CFtpConnection *m_pFtpConnection;
m_pInetsession = new CInternetSession(AfxGetAppName(), 1, PRE_CONFIG_INTERNET_ACCESS);
try
{
    m_pFtpConnection = m_pInetsession->GetFtpConnection("192.168.1.133", "administrator", "Edgewin123", 125);

    //uc1601("连接成功", 1);

    //单选菜单对话框
    char sPromptStr[] = "单选菜单对话框";
    int iDefault = 0;//表示没有默认选项,OK按钮始终保持不激活状态
    char asOptions[][38] = { "上传文件到服务器", "从服务器上下载文件", "删除服务器上的文件" };
    int iNumOfOtions = 3;//最多包含14个菜单选项
    int value = uc1603(sPromptStr, iDefault, asOptions, iNumOfOtions);
    if (value == 5)
    {
        //上传文件
        BOOL bRetVal = m_pFtpConnection->PutFile("D:\1.prt", "1.prt", FTP_TRANSFER_TYPE_BINARY, 1);
        if (bRetVal == false)
        {
            uc1601("上传失败", 1);
        }
        else
        {
            uc1601("上传成功", 1);
        }
    }
    else if (value == 6)
    {
        //下载文件
        BOOL bRetVal1 = m_pFtpConnection->GetFile("1.prt", "D:\1\1.prt", false, FILE_ATTRIBUTE_NORMAL, FTP_TRANSFER_TYPE_BINARY, 1);
        if (bRetVal1 == false)
        {
            uc1601("下载失败", 1);
        }
        else
        {
            uc1601("下载成功", 1);
        }
    }
    else if (value == 7)
    {
        //删除服务器上的文件
        BOOL bRetVal2 = m_pFtpConnection->Remove("1.prt");
        if (bRetVal2 == false)
        {
            uc1601("删除失败", 1);
        }
        else
        {
            uc1601("删除成功", 1);
        }
    }

}
catch (CInternetException *pEx)
{
    TCHAR szError[1024];
    if (pEx->GetErrorMessage(szError, 1024))
    {
        uc1601(szError, 1);
    }
    else
    {
        uc1601("There was an exception", 1);
    }
    pEx->Delete();
    m_pFtpConnection = NULL;
    return;
}

UF_terminate();

Caesar卢尚宇
2020年10月23日

3.演示

Caesar卢尚宇

2020年10月23日

原文地址:https://www.cnblogs.com/nxopen2018/p/13865995.html