欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

这样写cgi文件上载如何不行呀,死小弟我了

更新时间: 2014-01-05 02:03:13 责任编辑: Author_N1

 

这样写cgi文件下载怎么不行呀,急死我了
Html代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>下载</title>
</head>
 <body leftmargin="50">
  下载<p>
  <a href="download_proc1.cgi">文件下载<br></a><br>
</body>
</html>


服务器端(C语言):

int set_HTTP_CsvDownload(char *buf)
{
int j=0,sz=0;
 
memset(buf,0,1024);
 
sprintf(&buf[j],"%s","Content-Disposition: attachment;filename=myfile.txt\n");
j = strlen(buf);


sprintf(&buf[j],"%s","Content-Transfer-Encoding: binary\n");
j = strlen(buf);


sprintf(&buf[j],"%s","Accept-Ranges: bytes\n");
j = strlen(buf);


sprintf(&buf[j],"%s","Content-Length: 1024\n");
j = strlen(buf);


sprintf(&buf[j],"%s","Connection: close\n");
j = strlen(buf);


sprintf(&buf[j],"%s","Content-type: application/octet-stream\n");
j = strlen(buf);


        //读入文件
if((fp = fopen((const char *)("myfile.txt"), (char *)"r")) != NULL)
{
byte temp_buf[1024];
sz = fread(temp_buf, 1, 1024, fp);
fclose(fp);

memcpy(&buf[j],temp_buf,sz);
j+=sz;
}

return j;
}
服务器端将上面的buf发送到客户端浏览器上。但是客户端并不会出现文件下载框,而是在浏览器上显示出我读出来的txt文本本件里的内容。真不知道该怎么办了,急死我了。求高手指点!多谢!!

我是新人,没有积分,大家帮帮忙,谢谢。
--参考方法--
sprintf(&buf[j],"%s","Content-type: application/octet-stream\n");
这一行改成两个 \n, 即:
sprintf(&buf[j],"%s","Content-type: application/octet-stream\n\n");
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:03:13
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/5057/
本文WWW.DOC100.NET DOC100.NET版权所有。