给goahead-3.1.0-2 web服务器 增加 任意盘符文件下载功能

1 . 用vs2012 打开 goahead-3.1.0-2\projects\goahead-windows-default.sln 编译


2 . goahead-3.1.0-2\windows-x86-vsdebug\bin\webs.exe 执行


3 . 测试下载 在浏览器中 输入 http://127.0.0.1:8080/action/down?video=C:\xxx.wmv  注意:文件扩展名支持有限 扩展 请自行修改测试


刚开始接触C 语言 ,呵呵


源码下载

 

发现 内存泄露的语句

//取文件名和扩展名
 filename = sclone(getUrlLastSplit(sclone(pathfilename),"\\"));
 filenameExt = sclone(getUrlLastSplit(sclone(filename),"."));

改为

//取文件名和扩展名
 filename = getUrlLastSplit(sclone(pathfilename),"\\");
 filenameExt = getUrlLastSplit(sclone(filename),".");


if (websPageOpen(wp, O_RDONLY | O_BINARY, 0666) < 0) {
改为 增加一句话

if (websPageOpen(wp, O_RDONLY | O_BINARY, 0666) < 0) {
   if (filename) free(filename);

你可能感兴趣的:(C)