51Testing软件测试论坛

标题: 下载文件大小不一致或不能下载 [打印本页]

作者: kuangquanshui    时间: 2010-7-30 18:28
标题: 下载文件大小不一致或不能下载
lr版本:9.5      系统:xp    IE:6.0      问题:下载的文件为44.7mb大小    但使用下面的脚本下载下来的是只有几十KB     当把设置大小的值设为很大时提示回放不成功提示内存冲突   大家帮我看看
下载脚本如下:
Action2()
{   
    int flen;        //定义一个整型变量保存获得文件的大小
    long filedes;    //保存文件句柄
    char file[256]="\0";  //保存文件路径及文件名
    char  chNumber ;
    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;
}
作者: kuangquanshui    时间: 2010-7-30 18:45
使用下面的脚本   可以下载成文件   但大小为0KB     而且把web_set_max_html_param_len("50000");的值改大,就给Open File Failed提示    这是下面的一个if语句的判断结果,但这个wb是哪里来的   

Action2()
{   
     int flen,rNum;        //定义一个整型变量保存获得文件的大小
    long filedes;    //保存文件句柄
    char filepath[512],filename[512];  //保存文件路径及文件名
    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;
}
作者: kuangquanshui    时间: 2010-7-30 18:48
lr帮助中给的fopen的解释没看明白   我理解为是文件传送的最后一个字节   但怎么确定最后一个字节?
作者: kuangquanshui    时间: 2010-7-31 20:08
这个问题没人遇到吗
作者: kuangquanshui    时间: 2010-8-2 08:40
咋就没人帮看看呢
作者: skyzhu    时间: 2010-8-2 10:19
那个 wb 是打开方式,比如只读只写等等,你用wb+ 试试

没下过大文件不发表意见。。。用LR意义不大

补一句,wb 是二进制打开的,你写入是文本的,应该会有问题,就算存下来了也是错的文件

[ 本帖最后由 skyzhu 于 2010-8-2 10:35 编辑 ]
作者: kuangquanshui    时间: 2010-8-13 11:50
标题: 回复 6# 的帖子
谢谢了 朋友  我试试




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2