kuangquanshui 发表于 2010-7-30 18:28:01

下载文件大小不一致或不能下载

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;
}

kuangquanshui 发表于 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,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;
}

kuangquanshui 发表于 2010-7-30 18:48:52

lr帮助中给的fopen的解释没看明白   我理解为是文件传送的最后一个字节   但怎么确定最后一个字节?

kuangquanshui 发表于 2010-7-31 20:08:01

这个问题没人遇到吗

kuangquanshui 发表于 2010-8-2 08:40:24

咋就没人帮看看呢

skyzhu 发表于 2010-8-2 10:19:28

那个 wb 是打开方式,比如只读只写等等,你用wb+ 试试

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

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

[ 本帖最后由 skyzhu 于 2010-8-2 10:35 编辑 ]

kuangquanshui 发表于 2010-8-13 11:50:32

回复 6# 的帖子

谢谢了 朋友我试试
页: [1]
查看完整版本: 下载文件大小不一致或不能下载