|
需要把文件分片并上传,源码我已上传,应该是运行不了的,我只截取了分片的这块。
读入文件 现在要么报内存错误,要么显示长度是0
还是循环上传逻辑好像有点错误。
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 如果真 (x > 四舍五入 (x, )) 返回 (四舍五入 (x, ) + 1 )返回 (四舍五入 (x, ))|
大文件分片上传 | | | |
文件路径 | 文本型 | | | | 上传的文件ID | 文本型 | | | | n | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 文件大小 | 整数型 | | | 文件字节集 | 字节集 | | | i | 整数型 | | | 文件分割次数 | 整数型 | | | 发送数据 | 文本型 | | | 返回json | 类_json | | | 分片上传URL | 文本型 | | | 拆分字节集 | 字节集 | | | 上传结果 | 文本型 | | | PUT结果 | 文本型 | | | 测试文件 | 文本型 | | | 测试大小 | 整数型 | | | 文件号获取 | 整数型 | | |
文件字节集 = 读入文件 (文件路径 ) 调试输出 (“文件路径:”, 文件路径 )文件大小 = 取字节集长度 (文件字节集 )调试输出 (“文件大小:”, 文件大小 )文件分割次数 = 向上取整 (文件大小 ÷ #文件分片大小 )如果真 (文件大小 ≥ #文件分片大小 )发送数据 = “{” + #引号 + “preuploadID” + #引号 + “:” + #引号 + 到文本 (上传的文件ID ) + #引号 + “,” + #引号 + “sliceNo” + #引号 + “:” + 到文本 (1 ) + “}”返回json. 清除 ()上传结果 = 编码_Utf8到Ansi (网页_访问_对象 ( #API_123云盘 + “/upload/v1/file/get_upload_url”, 1, 发送数据, , , 获取HEADER_123 ()) )调试输出 (“分片上传结果”, 上传结果 )返回json. 解析 (上传结果 )返回json. 解析 (编码_Utf8到Ansi (网页_访问_对象 ( #API_123云盘 + “/upload/v1/file/get_upload_url”, 1, 发送数据, , , 获取HEADER_123 ()) )) 分片上传URL = “”如果真 (返回json. 取通用属性 (“message”) = “ok”)分片上传URL = 返回json. 取通用属性 (“data.presignedURL”)PUT结果 = 分片PUT上传 (分片上传URL, 文件字节集)调试输出 (“PUT结果:”, PUT结果 )超级列表框_上传列表. 置标题 (n - 1, 3, “完成100%”)计次循环首 (文件分割次数, i )拆分字节集 = 字节集_取指定位置字节集 (文件字节集, (i - 1 ) × #文件分片大小 + 1, #文件分片大小 )发送数据 = “{” + #引号 + “preuploadID” + #引号 + “:” + #引号 + 到文本 (上传的文件ID ) + #引号 + “,” + #引号 + “sliceNo” + #引号 + “:” + 到文本 (i ) + “}”返回json. 清除 ()上传结果 = 编码_Utf8到Ansi (网页_访问_对象 ( #API_123云盘 + “/upload/v1/file/get_upload_url”, 1, 发送数据, , , 获取HEADER_123 ()) )调试输出 (“分片上传结果”, 上传结果 )返回json. 解析 (上传结果 )分片上传URL = “”如果真 (返回json. 取通用属性 (“message”) = “ok”)分片上传URL = 返回json. 取通用属性 (“data.presignedURL”)PUT结果 = 分片PUT上传 (分片上传URL, 文件字节集)调试输出 (“PUT结果:”, PUT结果 )分片PUT上传 (分片上传URL, 文件字节集 )超级列表框_上传列表. 置标题 (n - 1, 3, “完成” + 到文本 (四舍五入 (i ÷ 文件分割次数, 1 )) + “%”) 程序_延时 (1, 1 )计次循环尾 ()|
分片PUT上传 | 文本型 | | |
上传URL | 文本型 | | | | 上传数据 | 字节集 | | | |
返回信息 = 编码_Utf8到Ansi (网页_访问_对象 (上传URL, 3, , , , 获取HEADER_123 (), , , , 上传数据 )) 返回 (返回信息 )
|
|