热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

——*-初学者问题,如何实现文件上传,给点指导都能领分-*——

要在IE中实现文件上传,不知从何从起希望高手描述一下思路可以不用贴代码,因为暂时还看不懂×_×WinInet和Socket在VC6中似乎都可以实现文件上传它们各自适用于什么情况?
要在IE中实现文件上传,不知从何从起
希望高手描述一下思路
可以不用贴代码,因为暂时还看不懂 ×_×

WinInet和Socket在VC6中似乎都可以实现文件上传
它们各自适用于什么情况?
有什么特点啊?

关于HTTP需要了解一些什么?

9 个解决方案

#1


难道就没人愿意给点思路吗?!

#2


自U自P!

#3


帮忙UP一下!

#4


是何种协议的上传呢?我以前写过一个ftp类的上传,如果需要,我可以给你些代码帮助
如果是基于tcp的话,应该可以用文件操作的,有几个函数CFile myfile;比如:myfile.Open(...);myfile.Write(...);myfile.Close();这些函数应该要用到的,写过这种东西的哥们可以再写详细点。

#5


谢谢楼上!

#6


在別的地方問過?好象在哪里見過呵﹕) 我只給出基于FTP的例子﹕)

下表显示了实现一个典型的FTP client application的步骤:

目的 方法 结果 
开始一个FTP session 创建一个CInternetSession对象 初始化WinInet
并联接服务器 
连接到一个FTP Server 用CInternetSession::GetFtpConnection 返回一个CFtpConnection对象 
CD到 FTP 服务器的一个新目录 用CFtpConnection::SetCurrentDirectory CD到FTP服务器的一个
新目录 
Find 第一个FTP目录中的文件 用CFtpFileFind::FindFile Find第一个文件,如果文件每找到返回FALSE 
Find 下一个FTP目录中的文件 用CFtpFileFind::FindNextFile Find下一个文件
如果文件没找到返回FALSE 
打开FindFile或FindNextFile找到的文件(用于读写) 用CFtpConnection::OpenFile,用FindFile或FindNextFile返回的文件名 打开FindFile或FindNextFile找到的文件(用于读写),返回一个CInternetFile对象 
读写文件 用CInternetFile::Read或CInternetFile::Write 使用你指定的缓冲写
指定的字节数 
异常处理 用CInternetException类  处理所有普通的Internet异常类型 
结束FTP session 处理CInternetSession对象 自动清除打开的句柄的连接 

例子﹕
在VC++中创建一个基于对话框的应用程序,需要注意的是在创建此工程时,一定要选择Windows Sockets这一选项。创建的对话框的结构如上图,并在对话框类的文件中加入#include 'afxinet.h' 头文件。然后在对话框这个类的文件中加入下列函数,此函数是敲击Send-Button按钮发生的事件,主要是完成FTP功能传送文件的功能,本程序中要传的文件应该放在本工程中,如果放在别处可稍加改动一下即可。 



    void CFtptestDlg::OnSendButton() 
    {
    CString host;
    m_HostEdit.GetWindowText(host);
    //m_HostEdit是对话框中FTP Host :Edit控件的命名
    CString user;
    
    m_UserEdit.GetWindowText(user);
    //m_UserEdit是对话框中User:Edit控件的命名
    CString password;
    m_PasswordEdit.GetWindowText(password);
    //m_PasswordEdit是对话框中Password:Edit控件的命名
    CString filename;
    m_FileEdit.GetWindowText(filename);
    //m_FileEdit是对话中SendFile:Edit控件的命名
    TRACE(':%s:%s:%s:%s\n', host, 
    user, password, filename);
    CInternetSession session
    (AfxGetApp()- >m_pszAppName);
    CFtpConnection* pConn = NULL;
    pConn = session.GetFtpConnection
    (host,user,password);
    if (pConn) {
    if (!pConn- >PutFile(filename,filename)){
    MessageBox('传送文件失败??');
    } else {
    MessageBox('传送文件成功!');
    }
    pConn- >Close();
    delete pConn;
    session.Close();
    } else {
    MessageBox('Cannot Connect');
    }
    }

#7


我记得以前做过IIS的,就是把文件读到一个内存缓冲区,然后发送就可以了

#8


请问seilfer2000(鬼手韩特) :如何发到IIS的缓存区!!!

#9


可以使用http方式,找一些Vbscript上传文件的源代码,然后改成vc的就可以了!

推荐阅读
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了C++中省略号类型和参数个数不确定函数参数的使用方法,并提供了一个范例。通过宏定义的方式,可以方便地处理不定参数的情况。文章中给出了具体的代码实现,并对代码进行了解释和说明。这对于需要处理不定参数的情况的程序员来说,是一个很有用的参考资料。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了指针的概念以及在函数调用时使用指针作为参数的情况。指针存放的是变量的地址,通过指针可以修改指针所指的变量的值。然而,如果想要修改指针的指向,就需要使用指针的引用。文章还通过一个简单的示例代码解释了指针的引用的使用方法,并思考了在修改指针的指向后,取指针的输出结果。 ... [详细]
  • 本文介绍了PE文件结构中的导出表的解析方法,包括获取区段头表、遍历查找所在的区段等步骤。通过该方法可以准确地解析PE文件中的导出表信息。 ... [详细]
author-avatar
再生Solo_868
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有