用CGI输出文本文件已是司空见惯,输出二进制呢?你尝试过吗?
下面的代码演示在linux下想浏览器输出Excel文件
tt.cpp
#include <fstream>
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include "stdio.h"
int main(int argc, char** argv)
{
// 输出Header
char* header = "Content-Type: application/vnd.ms-excel\r\n"
"Content-Disposition: attachment; filename=\"support.xls\"\r\n"
"Expires: 0\r\n"
"Cache-Control: must-revalidate, post-check=0,pre-check=0\r\n"
"Pragma: public\r\n\r\n" ;
write(STDOUT_FILENO, header, strlen(header));
int xls = open("array.xls", O_RDONLY);
char buf[1024];
size_t num;
while ((num = read(xls, buf, 1024)) > 0)
{
write(STDOUT_FILENO, buf, num);
}
close(xls);
return 0;
}
分享到:
相关推荐
最终用户可以从SourceForge下载CivetWeb二进制文件/发行版 开发人员可以通过GitHub为CivetWeb做出贡献 由于CivetWeb必须与早期或更高版本一起使用(另请参见)。 故障票应在GitHub上归档 新版本将在Google网上论坛上...
该项目的任务是提供易于使用、功能强大、可嵌入 C/C++ 且支持 IPv6、CGI 和 SSL 的 Web 服务器。 LibHTTP 拥有 MIT 许可证,因此您可以不受限制地进行创新。 开发人员可以将 LibHTTP 用作库,将 Web 服务器功能添加...
PHP 是一种新型的 CGI 程序编写语言,易学易用,运行速度快,可以方便快捷地编写出功能强大,运行速度快,并可同时运行于 Windows、Unix、Linux 平台的Web后台程序,...我们用自己的二进制文件,建立了Apache SAPIs。
node-mapserv最好被认为是 CGI mapserv的包装器:在内部它使用 C++ 绑定来刮掉代表二进制mapserv CGI 接口的薄层,用 javascript 接口替换它。 所有底层的mapserv逻辑和代码都保持不变。 node-mapserv不是用于 ...
Python 语言写的程序不需要编译成二进制代码,可以直接 从源代码运行程序。在计算机内部,Python 解释器把源代码 转换成称为字节码的中间形式,然后再把它翻译成计算机使用 的机器语言并运行。事实上,由于不再需要...
如果想要强行转换变量类型,可以使用与C语言相同的函数settype()。 2.5 变量与常量 可能你已经注意到,变量都有一个美元符号($)的前缀。所有变量都是局部变量,为了使得定义的函数中可以使用外部变量,使用...
用于生成QR码的CGI二进制文件。 将其放在您的网络服务器上,将其指向浏览器,将小书签拖动到书签栏中,然后通过单击小书签为当前正在浏览的页面创建QR码(用于将链接传输到智能手机以继续浏览网页)。去)。 因为它...
2.12 将二进制数据发送到Windows的标准输出 77 2.13 使用C++的类iostream语法 78 2.14 回退输入文件到起点 80 2.15 用类文件对象适配真实文件对象 83 2.16 遍历目录树 84 2.17 在目录树中改变文件扩展名 85 ...
BIN:二进制文件 BINHex:苹果的一种编码格式 BMP:Windows或OS/2位图文件 BOOK:Adobe FrameMaker Book文件 BOX:Lotus Notes的邮箱文件 BPL:Borlard Delph 4打包库 BSP:Quake图形文件 BUN:CakeWalk 声音...
本书内容翔实、涉及领域广泛,并且提供了详细的例子和大量的参考资料(包括书籍、电子文档和Internet站点),是一本学习、使用和管理Linux不可多得的好书。 目 录 译者序 前言 第一部分 Red Hat Linux的介绍与安装 ...
需要注意的是,如果你要用一个IP地址对应多个不同的FTP服务器,则只能用使用不同的端口号的方法来实现,而不支持“主机头名”的做法。 对于已建立好的FTP服务器,在浏览器中访问将使用如“ftp://192.168.0.1”或是...
8.4.4 用TCanvas输出文字 189 8.5 坐标系统和映射模式 193 8.5.1 设备坐标系 193 8.5.2 逻辑坐标系 194 8.5.3 屏幕坐标系 194 8.5.4 窗体坐标系 194 8.5.5 坐标映射 195 8.5.6 设置映射模式 196 8.5.7 设置窗口/视区...