通过web下载文件的问题?
用程序自动的去下载这个文件,并把他放到一个指定的目录,我现在能够让他下载,但是会弹出一个对话框,让用户指定路径,怎么样去掉它,让他放在一个设定的目录下?
谢谢!
问题点数:100、回复次数:8Top
1 楼huaxiaoyu(宇宙骄龙)回复于 2006-08-09 19:01:11 得分 20
代码贴出来看看Top
2 楼sstower(幽幽)回复于 2006-08-09 20:09:35 得分 0
CString Url="https://59.124.122.173/cgi-bin/main_cgi.cgi?CMD=GETFILE_MASTER_CSV&SSID="+ssid;
Navigate2(Url,NULL,NULL,0,NULL);
Top
3 楼snowbirdfly(专心搞好嵌入式~~~)回复于 2006-08-09 20:11:38 得分 20
会弹出一个对话框,让用户指定路径,怎么样去掉它,让他放在一个设定的目录下?
你把这段代码贴出来看看阿~Top
4 楼sstower(幽幽)回复于 2006-08-10 13:00:31 得分 0
这个是ie自动弹出来的对话框吧,当你下载东西的时候,就会弹出来Top
5 楼ChinaCup(汪洋中的一片叶子)回复于 2006-08-10 13:04:03 得分 20
那在程序里阻止不了,到ie设置里去改Top
6 楼lixiaosan(小三)回复于 2006-08-10 13:05:08 得分 40
URLDownloadToFileTop
7 楼sstower(幽幽)回复于 2006-08-10 22:17:05 得分 0
lixiaosan(小三) ( ) 信誉:150 2006-8-10 13:05:08 得分: 0
URLDownloadToFile
--------------------------
这是什么东东??请问Top
8 楼sstower(幽幽)回复于 2006-08-10 22:28:22 得分 0
lixiaosan(小三) ( ) 信誉:150 2006-8-10 13:05:08 得分: 0
URLDownloadToFile
---------------------------
小三确实强,佩服佩服!那么有没有一个上传的东西,
我给一个web上传东西,我是这样实现的,你看这种方式对不对:
我首先分析他怎么上传的,通过
void CTestHtmpViewView::OnBeforeNavigate2(LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName, CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel)
{
// TODO: Add your specialized code here and/or call the base class
int nSize=baPostedData.GetSize();
TRACE("PostData:");
for(int i=0;i<nSize;i++)
{
BYTE bt=baPostedData.GetAt(i);
CString postDT;
postDT.Format("%c",bt);
TRACE("%s",postDT);
}
TRACE("\nURL:%s\n head:%s\n",lpszURL,lpszHeaders);
CHtmlView::OnBeforeNavigate2(lpszURL, nFlags, lpszTargetFrameName, baPostedData, lpszHeaders, pbCancel);
}
然后我用同样的数据去发送:
void CTestHtmpViewView::OnTest()
{
BYTE PreFix[]={0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,
0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x37,
0x64,0x36,0x33,0x62,0x39,0x33,0x39,0x37,0x30,0x62,0x33,0x63,0x0D,0x0A,0x43,
0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x44,0x69,0x73,0x70,0x6F,0x73,0x69,0x74,
0x69,0x6F,0x6E,0x3A,0x20,0x66,0x6F,0x72,0x6D,0x2D,0x64,0x61,0x74,0x61,0x3B,
0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x00};//,0x43,0x4D,0x44,0x22,0x0D,0x0A,0x0D,0x0A};
BYTE space[]={0x0d,0x0a,0x00};
BYTE contenType[]={0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x3A,0x20,0x61,0x75,0x64,0x69,0x6F,0x2F,0x77,0x61,0x76,0x00};
CString sSpace(space);
CString sPreFix(PreFix);
CString sContenType(contenType);
/* CString sPosteData=sPreFix+"CMD\"\r\n\r\nTFTP_UPLOAD\r\n";
/* sPosteData+=sPreFix+"TFTPFROOT\""+sSpace+sSpace+"/tftpboot/"+sSpace;
sPosteData+=sPreFix+"SSID\""+sSpace+sSpace+ssid+sSpace;
sPosteData+=sPreFix+"PFILE\""+sSpace+sSpace+"/tftpboot//pbxconf-20100914223711.cfg"+sSpace;
sPosteData+=sPreFix+"PUP\"; filename=\"D:\\sdk\\Samples\\pbxconf-20100914223711.cfg\""+sSpace;
sPosteData+="Content-Type: text/plain"+sSpace+sSpace;
*/
CString sPosteData=sPreFix+"CMD\"\r\n\r\nMOH_UPLOAD\r\n";
// sPosteData+=sPreFix+"TFTPFROOT\""+sSpace+sSpace+"/tftpboot/"+sSpace;
sPosteData+=sPreFix+"SSID\""+sSpace+sSpace+ssid+sSpace;
sPosteData+=sPreFix+"PFILE\""+sSpace+sSpace+"s3.wav"+sSpace;
sPosteData+=sPreFix+"PUP\"; filename=\"D:\\sdk\\Samples\\s3.wav\""+sSpace;
sPosteData+="Content-Type: audio/wav"+sSpace+sSpace;
CString Url="https://59.124.122.173/cgi-bin/main_cgi.cgi";
CString Heard="Content-Type: multipart/form-data; boundary=---------------------------7d63b93970b3c";
CByteArray baPostedData;
for(int i=0;i<sPosteData.GetLength();i++)
{
baPostedData.Add(sPosteData.GetAt(i));
}
Navigate2(Url,NULL,baPostedData,0,Heard);
}
发现在web端用手动是可以,但通过代码去做,他就会报错!这个有点怪,帮我看看好不?
Top





