c上传文件
‘壹’ 怎么用C实现Http POST功能向Http服务器上传文件
用socket就行了。
和服务器建立请求。
然后发送请求报文"\r\n\r\n"结束之后是数据。
post分为,application/x-www-form-urlencoded和multipart/form-data boundary=
要是上传文件,就得使用multipart/form-data boundary=...
服务器那边根据boundary来解析出数据。
‘贰’ 如何上传文件
ftp(File Transfer Protocol)是 Internet 上用来传送文件的协议(文件传输协议)。它是为了我们能够在 Internet 上互相传送文件而制定的的文件传送标准,规定了 Internet 上文件如何传送。也就是说,通过 FTP 协议,我们就可以跟 Internet 上的 FTP 服务器进行文件的上传(Upload)或下载(Download)等动作。
和其他 Internet 应用一样,FTP 也是依赖于客户程序/服务器关系的概念。在 Internet 上有一些网站,它们依照 FTP 协议提供服务,让网友们进行文件的存取,这些网站就是 FTP 服务器。网上的用户要连上 FTP 服务器,就要用到 FPT 的客户端软件,通常 Windows 都有“ftp”命令,这实际就是一个命令行的 FTP 客户程序,另外常用的 FTP 客户程序还有 CuteFTP、Ws_FTP、FTP Explorer等。
要连上 FTP 服务器(即“登陆”),必须要有该 FTP 服务器的帐号。如果是该服务器主机的注册客户,你将会有一个 FTP 登陆帐号和密码,就凭这个帐号密码连上该服务器。但 Internet 上有很大一部分 FTP 服务器被称为“匿名”(Anonymous)FTP 服务器。这类服务器的目的是向公众提供文件拷贝服务,因此,不要求用户事先在该服务器进行登记注册。
Anonymous(匿名文件传输)能够使用户与远程主机建立连接并以匿名身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。用户使用特殊的用户名“anonymous”和“guest”就可有限制地访问远程主机上公开的文件。现在许多系统要求用户将Emai1地址作为口令,以便更好地对访问进行跟综。出于安全的目的,大部分匿名FTP主机一般只允许远程用户下载(download)文件,而不允许上载(upload)文件。也就是说,用户只能从匿名FTP主机拷贝需要的文件而不能把文件拷贝到匿名FTP主机。另外,匿名FTP主机还采用了其他一些保护措施以保护自己的文件不至于被用户修改和删除,并防止计算机病毒的侵入。在具有图形用户界面的 WorldWild Web环境于1995年开始普及以前,匿名FTP一直是Internet上获取信息资源的最主要方式,在Internet成千上万的匿名PTP主机中存储着无以计数的文件,这些文件包含了各种各样的信息,数据和软件。 人们只要知道特定信息资源的主机地址, 就可以用匿名FTP登录获取所需的信息资料。虽然目前使用WWW环境已取代匿名FTP成为最主要的信息查询方式,但是匿名FTP仍是 Internet上传输分发软件的一种基本方法。
全有网推荐两款比较实用方便的FTP工具:Cutftp【CuteFTP Pro V7.1 Build 06.07.2005.1 官方简体中文包下载地址:http://www4.skycn.com/soft/15789.html】FlashFtp【FlashFXP V3.2.0.1080 汉化版(烈火版)下载地址:http://www4.skycn.com/soft/22415.html】
‘叁’ 在c#中(c/s)如何实现将上传的文件保存到指定的文件夹
参考一下我写的上传的事件,我把保存的路径配置在web.cofig里面了,(需要注意的是超过一定的大小4M的话就会发生前台的异常,而且这个异常后台没办法捕获,网上有个家伙写的捕获的异常的方法我试了,根本没有用):
protected void btnSave_Click(object sender, System.EventArgs e)
{
HttpPostedFile postedFile = fileUploadInput.PostedFile;
String userType = this.ddlUserType.SelectedValue;
if (postedFile!=null)
{
//判断文件是否小于10Mb
if (postedFile.ContentLength < 10485760)
{
try
{
//上传文件并指定上传目录的路径
String serverPath = System.Configuration.ConfigurationSettings.AppSettings["ReportPath"];
if(serverPath!=null)
{
String fileFullName = fileUploadInput.PostedFile.FileName;
String fileName = Path.GetFileName(fileFullName);
if(getUserManager().isFileNameExist(fileName))
{
lblMsg.Text = "Upload Failed:File with same name already exists!";
}
else
{
if (!Directory.Exists(serverPath))
{
Directory.CreateDirectory(serverPath);
}
postedFile.SaveAs(serverPath+fileName);
getUserManager().saveFileToDataBase(fileName,userType);
lblMsg.Text = "Upload Successfully!";
}
}
else
{
lblMsg.Text = "Upload Failed: Path not found!";
}
/*
* FileUpLoad1.PostedFile.SaveAs(Server.MapPath("~/Files/")+ FileUpLoad1.FileName);
* 注意->这里为什么不是:FileUpLoad1.PostedFile.FileName
* 而是:FileUpLoad1.FileName?
* 前者是获得客户端完整限定(客户端完整路径)名称
* 后者FileUpLoad1.FileName只获得文件名.
*/
//当然上传语句也可以这样写(貌似废话):
//FileUpLoad1.SaveAs(@"D:\"+FileUpLoad1.FileName);
}
catch (Exception ex)
{
lblMsg.Text = "Upload Failed,Exception Occurs:" + ex.Message;
}
}
else
{
lblMsg.Text = "Upload Failed:The size of the file can not exceeded 10MB!";
}
}
else
{
lblMsg.Text = "File not seleced!";
}
}
‘肆’ 请问可否只利用html和基本的c语言实现文件上传
还是不太清楚,你考虑一下AJAX。
‘伍’ c语言实现文件上传
用c语言调用java程序
java没有程序这一说,只有java解释器。
要让c调用java的东西
看看这篇文章;
http://developer.ccidnet.com/art/818/20030217/38068_1.html
太长了,我就不帖了
‘陆’ 如何用c语言实现http ftp的上传功能
hehe ..这是因为FTP跟HTTP根本不是同一种类型服务器。FTP专门是用来下载上传用的,可以算做一个网络硬盘吧..而HTTP服务器一般是WEB服务器..性质完全不一样,就好象你家里的厨房和厕所一样,功能完全不一样嘛你总不可能在厕所想做饭,在厨房想上厕所对不对,没有任何办法..你只能按最直接的地址下载
如果帮助到您,请记得采纳为满意答案哈,谢谢!祝您生活愉快! vae.la
‘柒’ C#编程中如何上传文件
>>C#上传文件
using System;
using System.Data;
using System.Data.SqlClient;
public class General
{
private string FilePath; //文件路径
//定义一个枚举用来存放文件的信息
public enum File
{
FILE_SIZE , //大小
FILE_POSTNAME, //
FILE_SYSNAME ,
FILE_ORGINNAME,
FILE_PATH
};
//构造函数
public general()
{
//在WEB.CONFIG中设定AppSettings["filepath"],用于存放文件的路径。
FilePath = System.Configuration.ConfigurationSettings.AppSettings["filepath"];
}
public static string[] UploadFile(HtmlInputFile file)
{
string[] arr = new String[5];
//通过系统时间生成文件名,此功能可以封闭掉,不过中文长文件名支持的不好。
string FileName = DateTime.Now.ToString().Replace(" ","").Replace(":","").Replace("-","");
string FileOrginName = file.PostedFile.FileName.Substring(file.PostedFile.FileName.LastIndexOf("\\")+1);
if(file.PostedFile.ContentLength<=0)
return null;
string postFileName;
string path = new general().FilePath+"\\";
try
{
int pos = file.PostedFile.FileName.LastIndexOf(".")+1;
postFileName = file.PostedFile.FileName.Substring(pos,file.PostedFile.FileName.Length-pos);
file.PostedFile.SaveAs(path+FileName+"."+postFileName);
}
catch(Exception exec)
{
throw(exec);
}
double unit = 1024;
double size = Math.Round(file.PostedFile.ContentLength/unit,2);
arr[(int)File.FILE_SIZE] = size.ToString();//文件大小
arr[(int)File.FILE_POSTNAME] = postFileName;//文件类型(文件后缀名)
arr[(int)File.FILE_SYSNAME] = FileName;//文件系统名
arr[(int)File.FILE_ORGINNAME] = FileOrginName;//文件原来的名字
arr[(int)File.FILE_PATH]=path+FileName+"."+postFileName;//文件路径
return arr;
//throw(new Exception(HtmlUtility.HtmlEncode(IDNO.PostedFile.FileName)));
}
}
‘捌’ 怎样打开C语言上传作业
具体请款看你用什么编译系统,通常情况下,点击文件-打开,从路径中查找自己的.cpp文件,打开它,用txt文本存放,然后发给老师就ok了。
‘玖’ C语言实现从FTP下载、上传文件
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。
1.C语言可以使用CStdioFile函数打开本地文件。使用类CInternetSession 创建并初始化一个Internet打开FTP服务器文件。
CStdioFile继承自CFile,一个CStdioFile 对象代表一个用运行时函数fopen 打开的C 运行时流式文件。
流式文件是被缓冲的,而且可以以文本方式(缺省)或二进制方式打开。文本方式提供对硬回车—换行符对的特殊处理。当你将一个换行符(0x0A)写入一个文本方式的CStdioFile 对象时,字节对(0x0D,0x0A)被发送给该文件。当你读一个文件时,字节对(0x0D,0x0A)被翻译为一个字节(0x0A)。
CStdioFile 不支持Duplicate,LockRange,和UnlockRange 这几个CFile 函数。如果在CStdioFile 中调用了这几个函数,将会出现CNoSupported 异常。
使用类CInternetSession 创建并初始化一个或多个同时的Internet 会话。如果需要,还可描述与代理服务器的连接。
如果Internet连接必须在应用过程中保持着,可创建一个类CWinApp的CInternetSession成员。一旦已建立起Internet 会话,就可调用OpenURL。CInternetSession会通过调用全局函数AfxParseURL来为分析映射URL。无论协议类型如何,CInternetSession 解释URL并管理它。它可处理由URL资源“file://”标志的本地文件的请求。如果传给它的名字是本地文件,OpenURL 将返回一个指向CStdioFile对象的指针。
如果使用OpenURL在Internet服务器上打开一个URL,你可从此处读取信息。如果要执行定位在服务器上的指定的服务(例如,HTTP,FTP或Gopher)行为,必须与此服务器建立适当的连接。
‘拾’ 如何用c语言实现上传文件
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。
1.C语言可以使用CStdioFile函数打开本地文件。使用类CInternetSession 创建并初始化一个Internet打开FTP服务器文件。
CStdioFile继承自CFile,一个CStdioFile 对象代表一个用运行时函数fopen 打开的C 运行时流式文件。
流式文件是被缓冲的,而且可以以文本方式(缺省)或二进制方式打开。文本方式提供对硬回车—换行符对的特殊处理。当你将一个换行符(0x0A)写入一个文本方式的CStdioFile 对象时,字节对(0x0D,0x0A)被发送给该文件。当你读一个文件时,字节对(0x0D,0x0A)被翻译为一个字节(0x0A)。
CStdioFile 不支持Duplicate,LockRange,和UnlockRange 这几个CFile 函数。如果在CStdioFile 中调用了这几个函数,将会出现CNoSupported 异常。
使用类CInternetSession 创建并初始化一个或多个同时的Internet 会话。如果需要,还可描述与代理服务器的连接。
如果Internet连接必须在应用过程中保持着,可创建一个类CWinApp的CInternetSession成员。一旦已建立起Internet 会话,就可调用OpenURL。CInternetSession会通过调用全局函数AfxParseURL来为分析映射URL。无论协议类型如何,CInternetSession 解释URL并管理它。它可处理由URL资源“file://”标志的本地文件的请求。如果传给它的名字是本地文件,OpenURL 将返回一个指向CStdioFile对象的指针。
如果使用OpenURL在Internet服务器上打开一个URL,你可从此处读取信息。如果要执行定位在服务器上的指定的服务(例如,HTTP,FTP或Gopher)行为,必须与此服务器建立适当的连接。