51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2526|回复: 6
打印 上一主题 下一主题

[原创] 下载文件大小不一致或不能下载

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-7-30 18:28:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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;
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2010-7-30 18:45:36 | 只看该作者
使用下面的脚本   可以下载成文件   但大小为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;
}
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-7-30 18:48:52 | 只看该作者
lr帮助中给的fopen的解释没看明白   我理解为是文件传送的最后一个字节   但怎么确定最后一个字节?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2010-7-31 20:08:01 | 只看该作者
这个问题没人遇到吗
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-8-2 08:40:24 | 只看该作者
咋就没人帮看看呢
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-8-2 10:19:28 | 只看该作者
那个 wb 是打开方式,比如只读只写等等,你用wb+ 试试

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

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

[ 本帖最后由 skyzhu 于 2010-8-2 10:35 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2010-8-13 11:50:32 | 只看该作者

回复 6# 的帖子

谢谢了 朋友  我试试
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-17 20:45 , Processed in 0.075379 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表