博维云文档


DownFile 【对象函数】

函数说明

下载服务器上传下载目录里的文件到本地(云端事件函数不存在时默认为禁止下载)

函数原型

DownFile(const char* server_file_path,const char* local_save_name,const char* task_token = "",bool bExistFail = true,bool bApp = false,std::string* out_res = NULL,void (*func)(const char* buff, int len))

参    数

• server_file_path [字符串型]:待下载的服务器文件路径(格式:a/1.jpg)
• local_save_name [字符串型]:保存在本地的文件名称(可以包含路径,例子:c:\\a\\b\\a.txt,如果有中间目录则自动创建)
• task_token [字符串型]:任务标识符,用于停止任务和进度信息甄别(建议使用唯一性字符串),为空则不能手动停止任务(长度:0 - 16)
• bExistFail [逻辑型]:true 表示如果本地存在同名文件则下载失败
• bApp [逻辑型]:true 表示发送消息给云应用进行验证,触发云应用函数 _downfile(),如果函数不存在则禁止下载
• out_res [字符串指针]:接收云应用函数 _downfile() 回传的数据
• func [函数指针]:接收上传过程中的进度和任务消息, 函数原型:void (const char* buff, int len)

返回值

 bool(逻辑型,下载成功返回true,失败返回false) 

示    例

// 以下为c++代码
std::string strSerFileName = "1.txt";
std::string strLocalPath = "/tmp/1.txt";
std::string strTaskToken = "my_down_file";
std::string out_res = "";
bool b = m_client.DownFile(strSerFileName.c_str(),strLocalPath.c_str(),strTaskToken.c_str(),true,true,&out_res,RecvDownFileMsg);
if(!b)
{
    printf("client 下载文件失败, err:%s\n",m_client.GetLastError().c_str());
    return;
}
printf("client 下载文件成功, 返回数据:%s\n",out_res.c_str());

输出信息

备    注

错误信息

• 详情请使用 GetLastError() 获取