【函数功能】
使用http1.1 传输文件
【预置条件】【函数原型】
HttpPut(
file_name:string{文件路径}
http_url:string {上传地址,必须以'/'结束}
mobile:string{手机号码}
alias:string{文件别名}
):string
【返回值】
http1.1的标准应答
【函数说明】
调用此函数服务器端必须web服务器,使用80端口,并且目录设置可写
服务器端的文件命名方式:日期(14个字节)+手机号码(11个字节)+文件别名+.扩展名
例:(delphi)
var
file_name,mobile, http_url,alias:string;
begin
if OpenDialog1.Execute then
file_name:=OpenDialog1.FileName;
http_url:=http://192.168.0.3/test/;
mobile:='13777805234';
alias:='test';
try
Memo1.Clear;
Memo1.Lines.Add(HttpPut(file_name,http_url,mobile,alias));
except
end;
end;
以上是我用delphi写的库文件“P_http.dll”
我用vc调用库文件如下:
void CDllMFCDlg::OnBTest()
{
CString b;
typedef CString(_cdecl *HttpPut)(CString,CString,CString,CString);
HINSTANCE hinstDLL=NULL;
hinstDLL=LoadLibrary("P_http.dll");
if (hinstDLL)
{
HttpPutProc;
Proc = (HttpPut)GetProcAddress(hinstDLL,"HttpPut");
b=Proc("c:\1.txt","http://192.168.0.3/test/","13912345678","ppp");
FreeLibrary(hinstDLL);
char * p = new char[100];
sprintf(p,"%s",b);
AfxMessageBox(p);
}
else
{
AfxMessageBox("没少到dll");
}
}
编译成功的,但最后为什么老是内存地址错误的问题,不能调用HttpPut这个函数啊,为什么?
使用http1.1 传输文件
【预置条件】【函数原型】
HttpPut(
file_name:string{文件路径}
http_url:string {上传地址,必须以'/'结束}
mobile:string{手机号码}
alias:string{文件别名}
):string
【返回值】
http1.1的标准应答
【函数说明】
调用此函数服务器端必须web服务器,使用80端口,并且目录设置可写
服务器端的文件命名方式:日期(14个字节)+手机号码(11个字节)+文件别名+.扩展名
例:(delphi)
var
file_name,mobile, http_url,alias:string;
begin
if OpenDialog1.Execute then
file_name:=OpenDialog1.FileName;
http_url:=http://192.168.0.3/test/;
mobile:='13777805234';
alias:='test';
try
Memo1.Clear;
Memo1.Lines.Add(HttpPut(file_name,http_url,mobile,alias));
except
end;
end;
以上是我用delphi写的库文件“P_http.dll”
我用vc调用库文件如下:
void CDllMFCDlg::OnBTest()
{
CString b;
typedef CString(_cdecl *HttpPut)(CString,CString,CString,CString);
HINSTANCE hinstDLL=NULL;
hinstDLL=LoadLibrary("P_http.dll");
if (hinstDLL)
{
HttpPutProc;
Proc = (HttpPut)GetProcAddress(hinstDLL,"HttpPut");
b=Proc("c:\1.txt","http://192.168.0.3/test/","13912345678","ppp");
FreeLibrary(hinstDLL);
char * p = new char[100];
sprintf(p,"%s",b);
AfxMessageBox(p);
}
else
{
AfxMessageBox("没少到dll");
}
}
编译成功的,但最后为什么老是内存地址错误的问题,不能调用HttpPut这个函数啊,为什么?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货