CGI 文件下载
来源:互联网 发布:dota三大后期 知乎 编辑:程序博客网 时间:2024/04/28 12:07
文件名:download.c 用交叉编译工具编译生成download
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/stat.h>
#include<unistd.h>
#define MAX_FILE_LEN (1024*30)
#define DOWNLOAD_FILE_PATH"/works/config/"
#define DOWNLOAD_FILE_NAME"SWConf.ini"
int main(){
FILE *fp;
char filebuf[MAX_FILE_LEN];
char cmd[512];
struct stat sb;
sprintf(cmd, "%s%s", DOWNLOAD_FILE_PATH, DOWNLOAD_FILE_NAME);
stat(cmd, &sb); //取待下载文件的大小
//输出HTTP头信息,输出附加下载文件、文件长度以及内容类型
printf("Content-Disposition:attachment;filename=%s", DOWNLOAD_FILE_NAME);
printf("\r\n");
printf("Content-Length:%d", sb.st_size);
printf("\r\n");
//printf("Content-Type:application/octet-stream %c%c", 13,10); (ascii:"13--\r", "10--\n") 与下一行等同
printf("Content-Type:application/octet-stream\r\n");
printf("\r\n");
sprintf(cmd, "%s%s", DOWNLOAD_FILE_PATH, DOWNLOAD_FILE_NAME);
if(fp=fopen(cmd, "r+b")){
//成功打开文件,读取文件内容
do{
int rs = fread(filebuf, 1, sizeof(filebuf), fp);
fwrite(filebuf, rs, 1, stdout);
}while(!feof(fp));
fclose(fp);
}
return 1;
}
html中代码的一部分是:超链接。
<tr>
<th>文件下载:</th>
<td><a href="/cgi-bin/download">文件下载</a>
</td>
</tr>
html中代码的一部分是:button。
$('#swdownload').click(function(){
location.href="/cgi-bin/download";
});
<tr>
<th>文件下载:</th>
<td>
<input type="button" id="swdownload" value="下载">
</td>
</tr>
http://hezhao2000.blog.163.com/blog/static/122436367201331742413578/
- cgi文件下载
- cgi 实现文件下载
- CGI 文件下载
- 什么是CGI文件
- boa+cgi上传文件
- 什么是CGI文件
- CGI上传文件
- CGI上传文件
- boa+cgi上传文件
- 关于apache上的CGI文件问题总结--为什么无法找到cgi文件、为什么找到了cgi文件却不执行反而询问是否下载或直接显示文件代码
- .c文件生成.cgi文件
- C语言CGI上传文件
- CGI
- CGI
- CGI
- cgi
- CGI
- cgi
- 递归(1)
- uva 10285 Longest Run on a Snowboard(dp+记忆化搜索)
- lustre安装
- Hibernate在删除一个游离对象的时候,是不会更新该游离对象的
- Android newIntent
- CGI 文件下载
- oracle提示“身份证明检索失败”的问题
- 快速开发一个PHP扩展
- 提取当前时间的操作
- windows 内核驱动的文件操作(转载二)
- 哪门编程语言影响力最大?
- xbugger
- 音频编解码-speex库的使用方法
- 『常识』印刷纸张尺寸对比表