|
使用LR11录制文件下载功能,同时辅以在网上找的关于下载请求的代码,但仍无法运行成功。
代码如下:
Action2()
{
int flen; //定义一个整型变量保存获得文件的大小
long filedes; //保存文件句柄
char file[256]="\0"; //保存文件路径及文件名
web_set_max_html_param_len("1024000000");//设置页面接收最大的字节数,该设置应大于下载文件的大小
web_concurrent_start(NULL);
lr_start_transaction("下载");
web_reg_save_param("filecontent",
"LB=",
"RB=",
"Search=BODY",
LAST);
//使用关联函数获取下载文件的内容,在这里不定义左右边界,获得服务器响应的所有内容
web_reg_save_param("filename",
"LB=filename=",
"RB=",
"Search=BODY",
LAST);
//使用关联函数在服务器响应的头文件中获取下载文件名
web_url("downLoadFile.do",
"URL=http://192.168.1.240:8080/cfaoa//manager/resource/downLoadFile.do?method=downLoadFile&fileId=297",
"Resource=1",
"RecContentType=application/octet-stream",
"Referer=http://192.168.1.240:8080/cfaoa//manager/resource/_mainIndex.do?method=_mainIndex&pid=8",
LAST);
//发出下载请求,为录制时自动生成的
web_concurrent_end(NULL);
strcat(file,"e:\\test\\"); //将“e:\\yjw\\”这个路径保存到file中
strcat(file,lr_eval_string("{file}"));//将获得的文件名拼接在file这个变量字符串之后
flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE); //获得文件大小
if(flen > 0)
{
if((filedes = fopen(file, "wb")) == NULL)
{
lr_output_message("Open File Failed!", lr_eval_string("{filecontent}"));
return -1;
}
fwrite( lr_eval_string("{filecontent}"),flen,1,filedes );
fclose( filedes );
}
lr_end_transaction("下载",LR_AUTO);
return 0;
}
请大家帮忙看看是哪有问题。 |
|