CN104954433A - 一种用于移动设备的图片数据上传方法 - Google Patents
一种用于移动设备的图片数据上传方法 Download PDFInfo
- Publication number
- CN104954433A CN104954433A CN201510205517.9A CN201510205517A CN104954433A CN 104954433 A CN104954433 A CN 104954433A CN 201510205517 A CN201510205517 A CN 201510205517A CN 104954433 A CN104954433 A CN 104954433A
- Authority
- CN
- China
- Prior art keywords
- picture
- uploading
- upload
- network interface
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种用于移动设备的图片数据上传方法,包括如下步骤:S01、用户选择其需要上传的图片;S02、读取出图片数据;S03、将图片展示在程序界面所需要的地方;S04、将图片数据缓存到本地沙盒;S05、开启一个异步上传线程,准备上传图片;S06、调用传图的网络接口,发送图片,等待网络接口返回;S07、上传网络接口返回后,根据服务器返回的状态码判断上传是否成功,如果失败,则进入下一步,如果成功,则进入步骤S310;S08、从服务器返回的信息中获取错误码;S09、将上传失败的图片相关信息及错误码写入到数据库中;S10、发送一个重传消息,在消息监听函数中去调用重传逻辑模块;S11、本次上传结束。本发明使在图片上传过程中有更好的用户体验。
Description
技术领域
本发明属于移动设备的软件设计领域,尤其涉及一种用于移动设备的图片数据上传方法。
背景技术
当前移动设备的很多客户端软件都有上传图片到服务器的功能,目前的图片上传过程为:在用户操作后,读取图片数据,然后调用网络接口,将读取到的数据发送到服务器,然后阻塞界面,显示正在上传,用户则等待图片上传完成,如果上传失败则给出提示。
目前的这种上传方法在上传过程中存在很多不足:比如存在用户体验不好的问题,因为上传过程中用户不能进行其它操作,且如果在网络环境不稳定的情况下总是提示上传失败。为了解决这些问题,本发明采用异步上传和失败重传机制,则上传过程中不阻塞用户操作,上传失败了就重新上传。
发明内容
为了解决上述问题,本发明提供一种用于移动设备的图片数据上传方法。
为了达到所述目的,本发明采用的技术方案是:
一种用于移动设备的图片数据上传方法,包括如下步骤:
S01、用户选择其需要上传的图片;
S02、读取出图片数据;
S03、将图片展示在程序界面所需要的地方;
S04、将图片数据缓存到本地沙盒;
S05、开启一个异步上传线程,准备上传图片;
S06、调用传图的网络接口,发送图片,等待网络接口返回;
S07、上传网络接口返回后,根据服务器返回的状态码判断上传是否成功,如果失败,则进入下一步,如果成功,则进入步骤S310;
S08、从服务器返回的信息中获取错误码;
S09、将上传失败的图片相关信息及错误码写入到数据库中;
S10、发送一个重传消息,在消息监听函数中去调用重传逻辑模块;
S11、本次上传结束。
进一步的,步骤S10中调用重传逻辑模块过程如下:
S101、首先判断所述数据库中是否有数据,如果有,则进入下一步,否则结束;
S102、从所述数据库中读出一条数据;
S103、开启一个异步上传线程,准备上传图片;
S104、调用传图的网络接口,发送图片,等待网络接口返回;
S105、检查是否上传成功,如果本次上传失败,则进入步骤S106,否则从所述数据库中删除当前上传的这条数据,再进入步骤S107;
S106、获取本次上传失败的错误码,在所述数据库中将本次上传失败的数据信息更新;
S107、再次判断所述数据库中是否有数据,如果有,则回到步骤S102,否则结束。
更进一步的,步骤S102中所述数据的数据格式如下:
{
string imagePath; //存放该图片的路径
int failCode; //上次上传失败的错误码
} 。
更进一步的,步骤S01用户选择其需要上传的图片之前还包括:检查是否有需要重传至服务器的图片数据,若有,则调用重传逻辑模块,若无,则进入步骤S01。
采用本技术方案的有益效果:
当用户选择图片发送后,首先将该图片缓存下来,然后开启一个异步线程,在后台将图片数据发送到服务器,由于是异步操作,就不会阻塞用户进行其他操作;如果后台上传失败了,则先记录下上传失败的图片的相关信息,再择机调用失败重传逻辑模块进行重新上传,这样,在网络环境不稳定的情况下也会具有较好的用户体验。
附图说明
图1是本发明整体流程示意图;
图2是调用重传逻辑模块流程图。
具体实施方式
为了更好的理解本发明,下面结合附图对本发明作进一步阐述。
如图1所示,一种用于移动设备的图片数据上传方法,包括如下步骤:
S01、用户选择其需要上传的图片(一般是从系统相册选择图片)。
S02、读取出图片数据。
S03、将图片展示在程序界面所需要的地方。
S04、将图片数据缓存到本地沙盒。
S05、开启一个异步上传线程,准备上传图片;该过程使用运行循环技术,使该线程一直运行直到本次上传结束。
S06、调用传图的网络接口,发送图片,等待网络接口返回;
S07、上传网络接口返回后,根据服务器返回的状态码判断上传是否成功,如果失败,则进入下一步,如果成功,则进入步骤S310。
S08、从服务器返回的信息中获取错误码。
S09、将上传失败的图片相关信息及错误码写入到数据库中。
S10、发送一个重传消息,在消息监听函数中去调用重传逻辑模块。
S11、本次上传结束。
在上述过程中,步骤S10调用重传逻辑模块过程如下:
S101、首先判断所述数据库中是否有数据,如果有,则进入下一步,否则,结束。
S102、从所述数据库中读出一条数据,数据格式如下:
{
string imagePath; //存放该图片的路径
int failCode; //上次上传失败的错误码
} 。
S103、开启一个异步上传线程,准备上传图片;该过程使用运行循环技术,使该线程一直运行直到本次上传结束。
S104、调用传图的网络接口,发送图片,等待网络接口返回。
S105、检查是否上传成功,如果本次上传失败,则进入步骤S106,否则从所述数据库中删除当前上传的这条数据,再进入步骤S107。
S106、获取本次上传失败的错误码,在所述数据库中将本次上传失败的数据信息更新。
S107、再次判断所述数据库中是否有数据,如果有,则回到步骤S102,否则结束。
需要说明的是,在步骤S01用户选择其需要上传的图片之前,还需检查是否有需要重传至服务器的图片数据,若有,则调用重传逻辑模块,若无,才能进入步骤S01。
下面对上述整个过程作进一步解释:当用户选择图片发送后,首先将该图片缓存下来,然后开启一个异步线程,在后台将图片数据发送到服务器,由于是异步操作,这里就不会阻塞用户进行其他操作,同时,规定只要用户点击发送图片的按钮就默认该图片会发送成功,然后更新需要这张图片的界面上的数据,并且立刻展示给该发图用户;如果后台上传失败了,则先记录下上传失败的图片的相关信息,再择机调用重传逻辑模块,重传逻辑模块的调用主要有3个时机:(1)程序启动时检查是否有需要重传的数据;(2)当网络状态由无网到正常状态变化时;(3)一张图片上传完成后。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (4)
1.一种用于移动设备的图片数据上传方法,其特征在于:包括如下步骤:
S01、用户选择其需要上传的图片;
S02、读取出图片数据;
S03、将图片展示在程序界面所需要的地方;
S04、将图片数据缓存到本地沙盒;
S05、开启一个异步上传线程,准备上传图片;
S06、调用传图的网络接口,发送图片,等待网络接口返回;
S07、上传网络接口返回后,根据服务器返回的状态码判断上传是否成功,如果失败,则进入下一步,如果成功,则进入步骤S310;
S08、从服务器返回的信息中获取错误码;
S09、将上传失败的图片相关信息及错误码写入到数据库中;
S10、发送一个重传消息,在消息监听函数中去调用重传逻辑模块;
S11、本次上传结束。
2.根据权利要求1所述的一种用于移动设备的图片数据上传方法,其特征在于:步骤S10中调用重传逻辑模块过程如下:
S101、首先判断所述数据库中是否有数据,如果有,则进入下一步,否则,结束;
S102、从所述数据库中读出一条数据;
S103、开启一个异步上传线程,准备上传图片;
S104、调用传图的网络接口,发送图片,等待网络接口返回;
S105、检查是否上传成功,如果本次上传失败,则进入步骤S106,否则从所述数据库中删除当前上传的这条数据,再进入步骤S107;
S106、获取本次上传失败的错误码,在所述数据库中将本次上传失败的数据信息更新;
S107、再次判断所述数据库中是否有数据,如果有,则回到步骤S102,否则结束。
3.根据权利要求2所述的一种用于移动设备的图片数据上传方法,其特征在于:步骤S102中所述数据的数据格式如下:
{
string imagePath; //存放该图片的路径
int failCode; //上次上传失败的错误码
} 。
4.根据权利要求1-3任一所述的一种用于移动设备的图片数据上传方法,其特征在于:步骤S01用户选择其需要上传的图片之前还包括:检查是否有需要重传至服务器的图片数据,若有,则调用重传逻辑模块,若无,则进入步骤S01。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510205517.9A CN104954433A (zh) | 2015-04-28 | 2015-04-28 | 一种用于移动设备的图片数据上传方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510205517.9A CN104954433A (zh) | 2015-04-28 | 2015-04-28 | 一种用于移动设备的图片数据上传方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104954433A true CN104954433A (zh) | 2015-09-30 |
Family
ID=54168776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510205517.9A Pending CN104954433A (zh) | 2015-04-28 | 2015-04-28 | 一种用于移动设备的图片数据上传方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104954433A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108052386A (zh) * | 2017-10-30 | 2018-05-18 | 北京奇虎科技有限公司 | 一种测试结果传输方法、装置、服务器及存储介质 |
CN108199813A (zh) * | 2017-12-29 | 2018-06-22 | 武汉普利商用机器有限公司 | 一种数据上传方法及系统 |
CN109711741A (zh) * | 2018-12-29 | 2019-05-03 | 上海二三四五金融科技有限公司 | 一种获取设备风控数据的控制方法及控制装置 |
CN110045928A (zh) * | 2019-04-09 | 2019-07-23 | 烟台大学 | 一种电子信息移动终端 |
CN110197536A (zh) * | 2019-06-05 | 2019-09-03 | 四川长虹电器股份有限公司 | 一种提高移动收费终端处理入库订单效率的方法 |
CN110381109A (zh) * | 2019-05-31 | 2019-10-25 | 上海维信荟智金融科技有限公司 | 图片同步方法及系统 |
CN114143308A (zh) * | 2021-11-29 | 2022-03-04 | 中国平安人寿保险股份有限公司 | 文件上传信息处理方法、装置、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004092980A1 (en) * | 2003-04-17 | 2004-10-28 | Nokia Corporation | File upload using a browser |
CN101170507A (zh) * | 2007-11-14 | 2008-04-30 | 中兴通讯股份有限公司 | 异步并发处理方法 |
CN102098304A (zh) * | 2011-01-25 | 2011-06-15 | 北京天纵网联科技有限公司 | 一种手机音视频边录边上传的方法 |
CN103179216A (zh) * | 2013-04-16 | 2013-06-26 | 上海同岩土木工程科技有限公司 | 一种基于Twain协议的文件扫描及自动上传的方法 |
CN103220348A (zh) * | 2013-04-10 | 2013-07-24 | 广东全通教育股份有限公司 | 一种图片批量上传并保真缩放方法及系统 |
CN103685375A (zh) * | 2012-09-11 | 2014-03-26 | 金蝶软件(中国)有限公司 | 客户端与web应用交互的方法、系统和web服务器 |
-
2015
- 2015-04-28 CN CN201510205517.9A patent/CN104954433A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004092980A1 (en) * | 2003-04-17 | 2004-10-28 | Nokia Corporation | File upload using a browser |
CN101170507A (zh) * | 2007-11-14 | 2008-04-30 | 中兴通讯股份有限公司 | 异步并发处理方法 |
CN102098304A (zh) * | 2011-01-25 | 2011-06-15 | 北京天纵网联科技有限公司 | 一种手机音视频边录边上传的方法 |
CN103685375A (zh) * | 2012-09-11 | 2014-03-26 | 金蝶软件(中国)有限公司 | 客户端与web应用交互的方法、系统和web服务器 |
CN103220348A (zh) * | 2013-04-10 | 2013-07-24 | 广东全通教育股份有限公司 | 一种图片批量上传并保真缩放方法及系统 |
CN103179216A (zh) * | 2013-04-16 | 2013-06-26 | 上海同岩土木工程科技有限公司 | 一种基于Twain协议的文件扫描及自动上传的方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108052386A (zh) * | 2017-10-30 | 2018-05-18 | 北京奇虎科技有限公司 | 一种测试结果传输方法、装置、服务器及存储介质 |
CN108199813A (zh) * | 2017-12-29 | 2018-06-22 | 武汉普利商用机器有限公司 | 一种数据上传方法及系统 |
CN109711741A (zh) * | 2018-12-29 | 2019-05-03 | 上海二三四五金融科技有限公司 | 一种获取设备风控数据的控制方法及控制装置 |
CN110045928A (zh) * | 2019-04-09 | 2019-07-23 | 烟台大学 | 一种电子信息移动终端 |
CN110381109A (zh) * | 2019-05-31 | 2019-10-25 | 上海维信荟智金融科技有限公司 | 图片同步方法及系统 |
CN110197536A (zh) * | 2019-06-05 | 2019-09-03 | 四川长虹电器股份有限公司 | 一种提高移动收费终端处理入库订单效率的方法 |
CN114143308A (zh) * | 2021-11-29 | 2022-03-04 | 中国平安人寿保险股份有限公司 | 文件上传信息处理方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104954433A (zh) | 一种用于移动设备的图片数据上传方法 | |
JP5662405B2 (ja) | ユーザ装置をプロビジョニングするシステム及び方法 | |
CN106464572B (zh) | 消息附件管理 | |
US11108726B2 (en) | Message queues for rapid re-hosting of client devices | |
US9009265B2 (en) | System and method for automatic transfer of data from one device to another | |
CN109816447A (zh) | 柜机广告的智能监控方法、装置和存储介质 | |
US20160330611A1 (en) | Methods for sending and receiving user data and terminal devices | |
CN107018554A (zh) | 一种数据传输方法、装置及智能终端 | |
US20160205186A1 (en) | Synchronization of conversation data | |
US20090111375A1 (en) | Automatic wireless photo upload for camera phone | |
US10263937B2 (en) | Automated message recall from a sender's device | |
CN103124275A (zh) | 一种获取文件的方法和装置 | |
CN103547339B (zh) | 一种文件上传方法、客户端和服务端 | |
CN105791399B (zh) | 多中继互联网大数据推送方法和系统 | |
CN103634406A (zh) | 文件同步方法及其终端 | |
CN104954348A (zh) | 一种基于xmpp的可靠消息推送方法 | |
US20160249186A1 (en) | Zero Touch Deployment over a Wireless Wide Area Network | |
CN101310545A (zh) | 利用远程计算机的移动设备用互联网邮件客户端系统及其控制方法 | |
CN103368991A (zh) | 云存储的即时同步系统 | |
KR20150043335A (ko) | 확장 속성을 갖는 메시지 동기화 기법 | |
US9456325B2 (en) | Transmission of a multimedia message doubled with the transmission of a text message | |
CN103368990A (zh) | 云存储的即时同步方法 | |
JP2019527490A (ja) | メッセージデータを選択的に適合して送信するための方法、システム、およびコンピュータプログラム製品 | |
CN113794622B (zh) | 消息处理方法、装置、电子设备及存储介质 | |
CN113259404B (zh) | 基于tcp/ip协议的工业通信中间件及其使用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150930 |
|
RJ01 | Rejection of invention patent application after publication |