【技术实现步骤摘要】
图片上传方法、装置、计算机设备及存储介质
本专利技术涉及云存储
,尤其涉及一种图片上传方法、装置、计算机设备及存储介质。
技术介绍
在移动端iOS系统(iOS系统是苹果公司开发的操作系统)占据大量份额,使用iOS系统的移动端上传图片的常规流程是将待上传的图片传入内存中,即上传的时候将待上传的图片直接复制一份封装成一个请求体,发送到后台服务器(可以理解为云服务器)。正常情况下一次性上传小批量图片时内存是满足上传需求的,但是如果需上传大批量的图片(100张以上),仍使用常规方法会存在如下问题:1、内存不满足使用需求,是因为图片在内存中的大小与图片长度、宽度、单位像素占用的字节数有关,一张1500*1500的图片占用内存2M左右,上传过程中会复制一份到请求体,加上预览等其他地方需要使用,100张1500*1500的图片上传可能需要内存超过600M;2、效率低下,线程开启太少会导致无法充分利用网络带宽,而线程开启太多会导致系统分配吃力;3、不可控,图片上传一旦开启,无法取消与暂停。
技术实现思路
本专利技术实施例提供了一种图片上传方法、装置、计算机设备及存储介质,旨在解 ...
【技术保护点】
1.一种图片上传方法,其特征在于,包括:若检测到图片上传指令,获取当前的网络连接状态,根据当前的网络连接状态对应获取最大线程数,并创建线程数为所述最大线程数的线程池,所述线程池中每一线程中均创建一个用于保存数据的数组;判断待上传图片的当前剩余张数是否大于所述线程池中的线程池空闲线程数;若待上传图片的当前剩余张数大于所述线程池中的线程池空闲线程数,获取图片张数等于线程池空闲线程数的待上传图片,以封装为对应的请求体存储于数组中;其中,所述请求体中至少包括图片上传的目标地址及原始图片数据;通过与每一数组对应的线程将每一数组中所存储的请求体发送至服务器,将所述当前剩余张数减去所述线 ...
【技术特征摘要】
1.一种图片上传方法,其特征在于,包括:若检测到图片上传指令,获取当前的网络连接状态,根据当前的网络连接状态对应获取最大线程数,并创建线程数为所述最大线程数的线程池,所述线程池中每一线程中均创建一个用于保存数据的数组;判断待上传图片的当前剩余张数是否大于所述线程池中的线程池空闲线程数;若待上传图片的当前剩余张数大于所述线程池中的线程池空闲线程数,获取图片张数等于线程池空闲线程数的待上传图片,以封装为对应的请求体存储于数组中;其中,所述请求体中至少包括图片上传的目标地址及原始图片数据;通过与每一数组对应的线程将每一数组中所存储的请求体发送至服务器,将所述当前剩余张数减去所述线程池空闲线程数以更新当前剩余张数;判断当前剩余张数是否等于0,若当前剩余张数不等于0,执行判断待上传图片的当前剩余张数是否大于所述线程池中的线程池空闲线程数的步骤;若所述当前剩余张数等于0,结束流程;若待上传图片的当前剩余张数小于或等于所述线程池中的线程池空闲线程数,将每一待上传图片封装为对应的请求体存储于数组,通过与每一数组对应的线程将每一数组中所存储的请求体发送至服务器。2.根据权利要求1所述的图片上传方法,其特征在于,所述根据当前的网络连接状态对应获取最大线程数,包括:判断当前的网络连接状态是否为Wi-Fi连接状态;若当前的网络连接状态为Wi-Fi连接状态,将最大线程数置为预设的第一线程数值;若当前的网络连接状态不为Wi-Fi连接状态,将最大线程数置为预设的第二线程数值;其中,所述第二线程数值小于所述第一线程数值。3.根据权利要求1所述的图片上传方法,其特征在于,所述获取图片张数等于线程池空闲线程数的待上传图片,以封装为对应的请求体存储于数组中,包括:根据内存中所存储的图片本地存储地址,在硬盘中获取图片张数等于线程池空闲线程数的待上传图片;将每一待上传图片均封装为一个请求体,将每一请求体存储至对应的数组中。4.根据权利要求1所述的图片上传方法,其特征在于,所述通过与每一数组对应的线程将每一数组中所存储的请求体发送至服务器,将所述当前剩余张数减去所述线程池空闲线程数以更新当前剩余张数之后,还包括:若检测到数组的暂停上传指令,暂停请求体的发送;若检测到数组的继续上传指令,获取请求体中未上传数据,将未上传数据发送至服务器。5.根据权利要求1所述的图片上传方法,其特征在于,所述通过与每一数组对应的线程将每一数组中所存储的请求体发送至服务器,将所述当前剩余张数减去所述线程池空闲线程数以更新当前剩余张数之后,还包括:若检测到数组中的请求体上传完成指令...
【专利技术属性】
技术研发人员:何兵,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。