急问,用C写CGI,访问此CGI要打开一个DOC文件,怎么处理?谢谢。

hfyou 2004-12-24 02:57:37
fprintf(stdout,"Content-Type: application/doc\r\n\r\n");

int fd, filesize;
fd = _open( "e:\\chi.doc", _O_RDONLY|_O_BINARY );
filesize = _filelength(fd);

char* buf= new char[filesize];
_read(fd, buf, filesize);
_close(fd);
_setmode( _fileno( stdout ), _O_BINARY);
fprintf(stdout, buf);
delete []buf;
return 0;

这样不行,应该怎么写??
...全文
92 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hfyou 2004-12-24
  • 打赏
  • 举报
回复
搞定了,谢谢。。
hfyou 2004-12-24
  • 打赏
  • 举报
回复
可以保存,保存后的文件可以打开,
但是不能直接打开,为什么?
limlzm 2004-12-24
  • 打赏
  • 举报
回复
就是想要下载吧?
fp = fopen( fn, "rb" );
if( fp == NULL )
return -1;

printf( "Content-Type: application/octet-stream\nContent-Disposition: attachment; filename=\"%s\"\n\n", savefn );

while( !feof( fp ) ){
s = fread( buf, 1, sizeof( buf ) - 1, fp );
if( s < 0 ) break;
fwrite( buf, 1, s, stdout );
}
fclose( fp );
return 0;
hfyou 2004-12-24
  • 打赏
  • 举报
回复
上面写错了,应该是application/msword,但是也不行。

2,204

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 CGI
社区管理员
  • CGI社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧