- 论坛徽章:
- 0
|
小弟在arm7,uClinux上搭建BOA,用CGI实现一个下载功能,通过ie页面激活一个下载框,然后下载机器上的一个txt文件到本地电脑上。
HTML页面代码如下:
<HTML>
<HEAD><TITLE>A test web page</TITLE></HEAD>
<BODY>
<H1>Test Page</H1>
<P><H1>Download</H1>
<FORM ACTION="/cgi-bin/download.cgi" METHOD=GET >
<INPUT TYPE=submit VALUE="Submit">
</FORM>
</BODY>
</HTML>
|
CGI的代码如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
int cgiMain()
{
FILE* fp;
char buf[50000];
int s;
printf("Content-Type:application/octet-stream\r\n");
printf("Content-Disposition: attachment; filename= log.txt\r\n\r\n");
fp = fopen("/ramdisk/log.txt","rb");
if(fp == NULL)
return 0;
while(!feof(fp)){
s = fread(buf, 1, sizeof(buf) - 1 , fp);
if(s < 0 )
break;
fwrite(buf, s, 1, stdout);
}
fflush(stdout);
fclose(fp);
}
|
但是现在问题是只能在页面上显示文件“log.txt”的内容,打不开下载框。
麻烦各位赐教,我对html和http的知识还不怎么熟悉,谢谢了... |
|