- 论坛徽章:
- 0
|
下载部分的代码如下:
下载其他类型的文件都没问题,但是下载的图片文件却无法显示。我比较了下载的图片文件和源文件大小是一样的,
却无法显示,请大家帮我看看代码有什么问题?
void ServeFile(S8* repos,Socket_t client_sock,S8* file_path)
{
char sendbuf[MAX_BUF_SIZE];
memset(sendbuf,0,sizeof(sendbuf));
FILE *fp;
fp=repos_open_file(repos, file_path, "rb");
//to be finished,send 200 reponse
sprintf(sendbuf,"HTTP/1.1 200\r\n");
sprintf(sendbuf,"%sContent-Length:%d\r\n",sendbuf,get_file_size(repos, file_path));
sprintf(sendbuf,"%sContent-Type:%s\r\n",sendbuf,lookup_mime(file_path));
sprintf(sendbuf,"%sDate:%s\r\n\r\n",sendbuf,timestamp());
send(client_sock,sendbuf,strlen(sendbuf),0);//send header
int read_size;
while(!feof(fp))
{
memset(sendbuf,0,sizeof(sendbuf));
read_size=fread(sendbuf,sizeof(char),BUF_SIZE,fp);
send(client_sock,sendbuf,read_size,0);//send file
}
log_http_response(file_path,200,get_file_size(repos,file_path));
fclose(fp);
} |
[ 本帖最后由 diker007 于 2007-9-4 17:09 编辑 ] |
|