下载文件大小不一致或不能下载
lr版本:9.5 系统:xp IE:6.0 问题:下载的文件为44.7mb大小 但使用下面的脚本下载下来的是只有几十KB 当把设置大小的值设为很大时提示回放不成功提示内存冲突 大家帮我看看下载脚本如下:
Action2()
{
int flen; //定义一个整型变量保存获得文件的大小
long filedes; //保存文件句柄
char file="\0";//保存文件路径及文件名
charchNumber ;
web_set_max_html_param_len("99999999");//设置页面接收最大的字节数,该设置应大于下载文件的大小
web_concurrent_start(NULL);
web_reg_save_param("filecontent",
"LB=",
"RB=",
"Search=BODY",
LAST);
web_url("index.php_28",
"URL=http://192.168.10.97/sinocall/index.php?module=cdr.CdrManager&action=CdrDownload&uniqueid=1280478225.8&fileurl=IN-8009-s-20100730-162345-1280478225.8.wav",
"Resource=1",
"RecContentType=audio/x-wav",
"Referer=http://192.168.10.97/sinocall/index.php?admin=index.IndexAdmin&action=Main",
"Snapshot=t206.inf",
LAST);
web_concurrent_end(NULL);
strcat(file,"c:\\"); //将"c:\\"这个路径保存到file中
strcat(file,lr_eval_string("llmusic.zip"));//将获得的文件名拼接在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 );
}
return 0;
} 使用下面的脚本 可以下载成文件 但大小为0KB 而且把web_set_max_html_param_len("50000");的值改大,就给Open File Failed提示 这是下面的一个if语句的判断结果,但这个wb是哪里来的
Action2()
{
int flen,rNum; //定义一个整型变量保存获得文件的大小
long filedes; //保存文件句柄
char filepath,filename;//保存文件路径及文件名
rNum = rand()%10000000;//生成一个随机的文件全路径名
itoa(rNum, filename, 10);
web_set_max_html_param_len("50000");
web_reg_save_param("filecontent",
"LB=",
"RB=",
"Search=BODY",
LAST);
web_url("index.php_28",
"URL=http://192.168.10.97/sinocall/index.php?module=cdr.CdrManager&action=CdrDownload&uniqueid=1280478225.8&fileurl=IN-8009-s-20100730-162345-1280478225.8.wav",
"Resource=1",
"RecContentType=audio/x-wav",
"Referer=http://192.168.10.97/sinocall/index.php?admin=index.IndexAdmin&action=Main",
"Snapshot=t206.inf",
LAST);
strcpy(filepath,"c:\\");//假如下载的文件保存到F盘的TESTDOWN文件夹下
strcat(filepath,filename);
strcat(filepath,".wav");//下载文件的后缀名
flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE); //获得文件大小
if(flen > 0)
{
if((filedes = fopen(filepath, "wb")) == NULL)
{
lr_output_message("Open File Failed!", lr_eval_string("{fcontent}"));
return -1;
}
fwrite( lr_eval_string("{fcontent}"),flen,1,filedes );/*把关联的数据写入文件*/
fclose( filedes );/* 关闭文件流 */
}
return 0;
} lr帮助中给的fopen的解释没看明白 我理解为是文件传送的最后一个字节 但怎么确定最后一个字节? 这个问题没人遇到吗 咋就没人帮看看呢 那个 wb 是打开方式,比如只读只写等等,你用wb+ 试试
没下过大文件不发表意见。。。用LR意义不大
补一句,wb 是二进制打开的,你写入是文本的,应该会有问题,就算存下来了也是错的文件
[ 本帖最后由 skyzhu 于 2010-8-2 10:35 编辑 ]
回复 6# 的帖子
谢谢了 朋友我试试
页:
[1]