• lr文件下载脚本(文件参数化重命名)


     
    下载文件时 文件名相同会被覆盖:
    以下是两种重命名文件的方法,妈蛋的函数写错了,让我整了一早上:
    第一种 利用strcpy函数,随机数参数化文件名会使文件每次生成的文件名 随机带上不同的数字
    strcpy(filepath,lr_eval_string("D://数据导出{num}.doc"));
    第二种比较复杂一点
    char filename1[50];
    char filename[50];
    char filepath[50];
    //生成不重复的随机数,
    int i=rand()%10;
    srand(time(NULL));
    //生成1-10之间的随机数,这块注意()不能漏写
    lr_save_datetime("%Y%m%d%H%M%S",DATE_NOW,"now");
    //这块注意时间格式以及是否加双引号
    sprintf(filename,"%s%d.csv",
    lr_eval_string("{now}"),i);
    lr_save_string(filename,"filename1");
    strcpy(filepath,"D:\Users\wufangfang\Desktop\app\");
    strcat(filepath,lr_eval_string("{filename1}"));
    lr_message("%s",filepath
     
    ==============================黄金分割线===============================

    //定义一个整型变量保存获得文件的大小
    int flen;
    //保存文件句柄
    long filedes;
    /*
    char filename1[50];

    char filename[50];

    char filepath[50];
    //生成不重复的随机数,
    int i=rand()%10;
    srand(time(NULL));
    //生成1-10之间的随机数,这块注意()不能漏写
    lr_save_datetime("%Y%m%d%H%M%S",DATE_NOW,"now");

    //这块注意时间格式以及是否加双引号
    sprintf(filename,"%s%d.csv",
    lr_eval_string("{now}"),i);

    lr_save_string(filename,"filename1");

    strcpy(filepath,"D:\Users\wufangfang\Desktop\app\");
    strcat(filepath,lr_eval_string("{filename1}"));
    lr_message("%s",filepath);
    */
    //设置参数的最大长度,注意该值必须大于文件的大小

    web_set_max_html_param_len("20000");


    //使用关联函数获取下载文件的内容,在这里不定义左右边界,获得服务器响应的所有内容

    web_reg_save_param("fcontent",
    "LB=",
    "RB=",
    "SEARCH=BODY",
    LAST);





    /*下载帮助文件*/



    lr_start_transaction("导出文件");


    //发送导出文件的请求

    web_url("DownLoadServlet",
    "Resource=1",
    "RecContentType=application/x-msdownload",
    "Referer=",
    "Snapshot=t41.inf",
    LAST);

    lr_convert_string_encoding(lr_eval_string("{fcontent}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str");

    //获取响应中的文件长度
    flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);


    strcpy(filepath,lr_eval_string("D://数据导出{num}.doc"));
    if(flen > 0)
    {

    //以写方式打开文件

    if((filedes = fopen(filepath, "wb")) == NULL)

    {

    lr_output_message("打开文件失败!");

    return -1;

    }

    //写入文件内容

    fwrite(lr_eval_string("{str}"), flen, 1, filedes);

    //关闭文件

    fclose(filedes);

    }

    lr_end_transaction("导出文件",LR_AUTO);

    return 0;
    }
  • 相关阅读:
    document.body.clientHeight 和 document.documentElement.clientHeight 的区别
    Javascript操作div及其内含对象示例
    面向对象分析设计的经验原则
    翻页控件示例代码
    C#的6种常用集合类示例
    UML基础知识
    重温OSI和TCP/IP网络分层
    设计模式总结
    活用设计模式
    GridView当数据源为空时仍显示表头
  • 原文地址:https://www.cnblogs.com/zhuzhubaoya/p/5853849.html
Copyright © 2020-2023  润新知