bobble718 发表于 2009-7-10 17:08:31

求助:LR 下载文件,文件名参数化问题 [已解决,脚本没有问题,是我机器出了问题]

我用LR录制了一个下载文件的脚本,没有参数化之前,脚本可以将文件下载到本地,说明脚本是录制成功的。现在我将文件名进行了参数化,脚本也能运行通过,但是运行时弹出了一个对话框,请参见我上传的.jpg文件,运行后,我发现文件并没有下载到我指定的目录,而是在我脚本存放的位置生成了一个文件夹。下面是我参数化后的脚本:
Action()
{

    int iflen;
    long lfbody;
   
    char file;
    strcpy(file,"f:\\");
    strcat(file,lr_eval_string("{NewParam}"));
    strcat(file,".doc");

        web_custom_request("getMaterialCategoryAjax.action",
                "URL=http://192.168.11.94/materialajax/getMaterialCategoryAjax.action",
                "Method=POST",
                "Resource=0",
                "RecContentType=application/json",
                "Referer=http://192.168.11.94/material/myMaterialAction.action",
                "Snapshot=t4.inf",
                "Mode=HTML",
                "EncType=",
                LAST);

      //设置最大长度
    web_set_max_html_param_len("100000");

       //将响应信息存放到fcontent变量
    web_reg_save_param("fcontent", "LB=", "RB=", "SEARCH=BODY", LAST);

        web_url("showMyMaterialInfoAction.action",
                "URL=http://192.168.11.94/material/showMyMaterialInfoAction.action?materialId=9819",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=",
                "Snapshot=t5.inf",
                "Mode=HTML",
                EXTRARES,
                "Url=../image/bg_header01.gif", "Referer=http://192.168.11.94/material/showMyMaterialInfoAction.action?materialId=9819", ENDITEM,
                "Url=../image/bg_body01.gif", "Referer=http://192.168.11.94/material/showMyMaterialInfoAction.action?materialId=9819", ENDITEM,
                "Url=../image/bg_navigation02.gif", "Referer=http://192.168.11.94/material/showMyMaterialInfoAction.action?materialId=9819", ENDITEM,
                "Url=../image/bg_headerInfor02.gif", "Referer=http://192.168.11.94/material/showMyMaterialInfoAction.action?materialId=9819", ENDITEM,
                "Url=../image/bg_headerInfor01.gif", "Referer=http://192.168.11.94/material/showMyMaterialInfoAction.action?materialId=9819", ENDITEM,
                "Url=../image/bg_navigation01.gif", "Referer=http://192.168.11.94/material/showMyMaterialInfoAction.action?materialId=9819", ENDITEM,
                "Url=../image/bg_navigationA01.gif", "Referer=http://192.168.11.94/material/showMyMaterialInfoAction.action?materialId=9819", ENDITEM,
                "Url=../image/bg_navigationA02.gif", "Referer=http://192.168.11.94/material/showMyMaterialInfoAction.action?materialId=9819", ENDITEM,
                "Url=../image/bg_navigationA03.gif", "Referer=http://192.168.11.94/material/showMyMaterialInfoAction.action?materialId=9819", ENDITEM,
                "Url=../image/bg_navigationA04.gif", "Referer=http://192.168.11.94/material/showMyMaterialInfoAction.action?materialId=9819", ENDITEM,
                "Url=../image/bg_navigationA05.gif", "Referer=http://192.168.11.94/material/showMyMaterialInfoAction.action?materialId=9819", ENDITEM,
                "Url=../image/bg_footer02.gif", "Referer=http://192.168.11.94/material/showMyMaterialInfoAction.action?materialId=9819", ENDITEM,
                "Url=../image/bg_footer01.gif", "Referer=http://192.168.11.94/material/showMyMaterialInfoAction.action?materialId=9819", ENDITEM,
                "Url=../image/bg_footer03.gif", "Referer=http://192.168.11.94/material/showMyMaterialInfoAction.action?materialId=9819", ENDITEM,
                "Url=../image/bg_navigation01a.gif", "Referer=http://192.168.11.94/material/showMyMaterialInfoAction.action?materialId=9819", ENDITEM,
                "Url=downloadMaterialAction.action?materialId=9819", "Referer=", ENDITEM,
                LAST);

       //获取响应大小
       iflen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);

       if(iflen > 0)   

       {
            //以写方式打开文件

            if((lfbody = fopen(file, "wb")) == NULL)

            {

                     lr_output_message("文件操作失败!");

                     return -1;

            }

            //写入文件内容

            fwrite(lr_eval_string("{fcontent}"), iflen, 1, lfbody);

            //关闭文件

            fclose(lfbody);

       }

       return 0;

}

请高人们指点下,这是什么问题,我应该怎么改这个脚本,谢谢!

[ 本帖最后由 bobble718 于 2009-7-10 18:17 编辑 ]

qingyouzi777 发表于 2010-12-18 15:24:02

回复 1# bobble718


    你的脚本可以运行成功?

   我的文件下载脚本和你的这个类似,但是编译时未通过,会提示这句代码:strcat(file,lr_eval_string("{NewParam}")); 有问题,貌似是不允许将char型变量和char型指针的连接。

qingyouzi777 发表于 2010-12-18 15:25:20

回复 1# bobble718


    还想请教一下,脚本没问题,机器出了什么问题?

msnshow 发表于 2010-12-18 17:55:32

很好,收藏
页: [1]
查看完整版本: 求助:LR 下载文件,文件名参数化问题 [已解决,脚本没有问题,是我机器出了问题]