用Delphi上载文件(从客户端到Web服务器),急急急!!(300分)

  • 主题发起人 主题发起人 Titita
  • 开始时间 开始时间
T

Titita

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好!
我想用Delphi向某个Web服务器上载文件(比如,http://abc.com/fileupload.cgi)。
请问,需要Post的文件如何编码?Http header有何特殊要求?

如有示例最好,;)
谢!

附:我使用的是Indy8005b中的TIndyHttp控件(Https需要)
 
我只想到一种办法:用java写个ftp客户端
 
www.chinaasp.com
上面有现成的控件,找找看看
 
我想我可能没有说清楚我的意思

在通常情况下,从客户端向服务器上载文件是由浏览器来完成的,通过form的标签
<input type=file....>
但是,现在的情况是,要用C++Builder作为客户端,来实现通常由浏览器完成的功能,服务器那边不用管的说!

也就是说,POST的data格式应该是什么样?
 
我有rfc2068——Http协议说明,你要不要?
 
2616是新的,:)
不过看起来很累啊!!我很急的!
 
用ISAPI可以高定!不过还可以通过服务端组件来解决这个问题!可以在服务端用VB,VC 的ATL包括DELPHI(我不会)把他高定!
我用VB做了一个!然后用DELPHI编写一个网页提交个服务器就可以高定!或者用WININET编写!
 
我的意思不是在服务器端,而是在客户端如何不用浏览器(网页)而是用程序来提交?!!
 
我想是要分析HTTP协议,再用程序模拟浏览器发出请求
还要自己实现有关编码,很麻烦的
不过除此之外好象没有别的办法,只能找找有没有现成的控件了。
 
我刚作完一个FTP程序,不过是用NMFTP。
 
我有一个办法:可以先通过客户端软件访问网页,网页方可以做成Asp+Com或Cgi、Isapi
等方式,以Com为例(Cgi和Isapi我不熟),你可以在Com里面获取客户端IP,并创建一个
Client Socket与客户端的Server Socket通信,实现文件传送。
 
换个角度,有个Web CGI要接受客户端的Post数据。
你用程序如何自动的提交这些数据?

可以:
1. TWebbrowser.navigate()
2. NMHTTP.post()
3. ...

那么,假如要提交的表单是这种形式:
<form action="xxx" method=post>
<input type=file name=userfile>
<input type=submit>
</form>

程序如何post啊?
 
http://www.intelligo.net/iedelphi/
IEDOWNLOAD
 
有这个构件的
 
你的表单有问题,不能这样写。
应该是:
<form method="POST" enctype="multipart/form-data" action="scripts/uploadr.dll">

注意到其中应该有一个编码类型。
至于你说的客户端不用浏览器而用程序提交,最简单的办法就是在程序里使用IE控件,让它不显示出来不就可以了么。
具体方法翻书,太简单了,没必要说明。
 
多人接受答案了。
 
后退
顶部