将楼上第14行的代码换成
var cmd = 'demo.cmd '+name;
然后写一个脚本demo.cmd即可. 比如我用cl来编译:
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
cd upload
cl /Tc %1
%1 最后两个需求也实现了:
当用户点击【把这份实验报告做成pdf格式】后,就执行以下代码:
int main(int argc,char *argv[])
{
printf("Content-Type:text/html;charset=\"gb2312\"\n\n<HTML><BODY>\n正在生成pdf格式的实验报告,请稍等……<br>\n");
fflush(stdout);
sscanf(argv,"%s%s",id,b2);
for(int i=0;i<1<<30;i++) //这个for循环会卡顿几秒钟
id++; //假装在生成pdf格式的实验报告
printf("<br><form action=\"../icons/report/report.pdf\" method=\"get\">已成功生成pdf格式的实验报告:<input type=\"submit\" value=\"查看/下载\"/></form>\n",id);
printf("</BODY></HTML>\n");
fflush(stdout);
return 0;
}
这段代码会给上述用户发送如下回应:
<HTML><BODY>
正在生成pdf格式的实验报告,请稍等……<br>
<br><form action="../icons/report/report.pdf" method="get">已成功生成pdf格式的实验报告:<input type="submit" value="查看/下载"/></form>
</BODY></HTML>
浏览器会把上面的回应显示成这样:
接下来用户就可以点击“查看/下载”按扭,下载文件了。
一般情况下,会弹出对话框,问你文件要保存到哪里,
但pdf比较特殊,浏览器会直接在线打开:
需要将打开pdf另存为…………,才可以下载下来。
比一般的文件多一个步骤。
页:
1
[2]