本申請涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及文件傳輸方法及裝置。
背景技術(shù):
隨著移動設(shè)備的使用普及,用戶越來越多地通過移動設(shè)備(比如,手機、平板電腦、智能手表等)來分享各類文件,這種分享是基于文件傳輸實現(xiàn)的。
圖片是用戶最常傳輸?shù)囊活愇募弧@纾谀承┥虡I(yè)運營活動中,商戶需要用戶提供其手機內(nèi)的圖片來做驗證或者其他用途,假定商戶為用戶提供免費的照片打印功能,則需要用戶提供其手機內(nèi)待打印的照片。
在現(xiàn)有技術(shù)中,用戶往往通過因特網(wǎng)中的云盤間接地傳輸圖片。假定用戶A要將自己手機里的圖片傳輸給用戶B,用戶A可以將自己的手機接入因特網(wǎng),再將手機中待分享的圖片上傳至云盤中保存,用戶B也需要將自己的手機接入因特網(wǎng),以訪問用戶A的云盤,進而可以從云盤中下載獲得用戶A上傳的圖片。
但是,對于現(xiàn)有技術(shù)中移動設(shè)備間通過云盤傳輸圖片的方式,無論是云盤本身,還是云盤至用戶手機之間的因特網(wǎng)傳輸路徑,安全性都難以保障,導(dǎo)致數(shù)據(jù)泄露風(fēng)險較高。
技術(shù)實現(xiàn)要素:
本申請實施例提供一種文件傳輸方法及裝置,用以解決現(xiàn)有技術(shù)中移動設(shè)備間通過云盤傳輸圖片的方式的數(shù)據(jù)泄露風(fēng)險較高的問題。
本申請實施例還提供另一種文件傳輸方法及裝置。
本申請實施例采用下述技術(shù)方案:
本申請實施例提供的一種文件傳輸方法,第一客戶端與第二客戶端處于同一局域網(wǎng)中,所述方法包括:
所述第一客戶端獲得所述第一客戶端的內(nèi)置服務(wù)器在所述局域網(wǎng)中的地址信息;
所述第一客戶端根據(jù)所述地址信息,生成包含所述地址信息的數(shù)字對象唯一標(biāo)識符DOI,以便于所述第二客戶端通過掃描所述DOI,向所述內(nèi)置服務(wù)器發(fā)送文件;
所述第一客戶端獲得所述內(nèi)置服務(wù)器接收到的所述文件。
本申請實施例提供的一種文件傳輸裝置,第一客戶端與第二客戶端處于同一局域網(wǎng)中,所述裝置位于所述第一客戶端上,所述裝置包括:
地址信息獲得模塊,獲得所述第一客戶端的內(nèi)置服務(wù)器在所述局域網(wǎng)中的地址信息;
DOI生成模塊,根據(jù)所述地址信息,生成包含所述地址信息的DOI,以便于所述第二客戶端通過掃描所述DOI,向所述內(nèi)置服務(wù)器發(fā)送文件;
文件獲得模塊,獲得所述內(nèi)置服務(wù)器接收到的所述文件。
本申請實施例提供的另一種文件傳輸方法,第一客戶端與第二客戶端處于同一局域網(wǎng)中,所述方法包括:
所述第二客戶端掃描所述第一客戶端生成的DOI,其中,所述DOI中包含所述第一客戶端中的內(nèi)置服務(wù)器在所述局域網(wǎng)中的地址信息;
所述第二客戶端獲得所述DOI中包含的所述地址信息;
所述第二客戶端根據(jù)所述地址信息,向所述內(nèi)置服務(wù)器發(fā)送文件,以便于所述第一客戶端獲得所述內(nèi)置服務(wù)器接收到的所述文件。
本申請實施例提供的另一種文件傳輸裝置,第一客戶端與第二客戶端處于同一局域網(wǎng)中,所述裝置位于所述第二客戶端上,所述裝置包括:
DOI掃描模塊,掃描所述第一客戶端生成的DOI,其中,所述DOI中包含所述第一客戶端中的內(nèi)置服務(wù)器在所述局域網(wǎng)中的地址信息;
地址信息獲得模塊,獲得所述DOI中包含的所述地址信息;
文件發(fā)送模塊,根據(jù)所述地址信息,向所述內(nèi)置服務(wù)器發(fā)送文件,以便于所述第一客戶端獲得所述內(nèi)置服務(wù)器接收到的所述文件。
本申請實施例采用的上述至少一個技術(shù)方案能夠達到以下有益效果:第一客戶端與第二客戶端可以分別位于要傳輸文件的兩個移動設(shè)備上,圖片屬于文件的一種,這兩個移動設(shè)備無需接入因特網(wǎng),也無需與諸如云盤服務(wù)器等第三方服務(wù)器進行交互,只需要利用局域網(wǎng)即可完成移動設(shè)備間的圖片傳輸,相比于因特網(wǎng),局域網(wǎng)的安全性更容易保障,可以減少數(shù)據(jù)泄露風(fēng)險,因此,可以部分或全部地解決現(xiàn)有技術(shù)中的問題。
附圖說明
此處所說明的附圖用來提供對本申請的進一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
圖1為本申請實施例提供的一種文件傳輸方法的流程示意圖;
圖2為本申請實施例提供的另一種文件傳輸方法的流程示意圖;
圖3為本申請實施例提供的一種實際應(yīng)用場景下,本申請的方案中的交互過程示意圖;
圖4為本申請實施例提供的一種用于實現(xiàn)本申請的方案的軟件架構(gòu)示意圖;
圖5為一種實際應(yīng)用場景下,現(xiàn)有技術(shù)的方案的原理示意圖;
圖6為本申請實施例提供的一種實際應(yīng)用場景下,本申請的方案的原理示意圖;
圖7為本申請實施例提供的對應(yīng)于圖1的文件傳輸裝置的結(jié)構(gòu)示意圖;
圖8為本申請實施例提供的對應(yīng)于圖2的文件傳輸裝置的結(jié)構(gòu)示意圖。
具體實施方式
為使本申請的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本申請具體實施例及相應(yīng)的附圖對本申請技術(shù)方案進行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
如前所述,現(xiàn)有技術(shù)存在安全性的問題,除此之外,現(xiàn)有技術(shù)還存在其他問題。比如,傳輸圖片的過程需要耗費雙方用戶移動設(shè)備的付費網(wǎng)絡(luò)流量;當(dāng)圖片的數(shù)據(jù)量較大時傳輸耗時較多;云盤本身可能需要用戶額外付費使用;等等。本申請的方案可以部分或全部地解決背景技術(shù)中提到的問題,以及列舉的這些問題。下面對本申請的方案進行說明。
在本申請實施例中,對于傳輸文件的雙方設(shè)備,為了便于描述,將接收文件的一方設(shè)備稱為“第一設(shè)備”,將發(fā)送文件的一方設(shè)備稱為“第二設(shè)備”。第一設(shè)備和/或第二設(shè)備可以是移動設(shè)備,比如,手機、平板電腦、筆記本電腦、智能手表、智能手環(huán)、車載移動臺等;第一設(shè)備和/或第二設(shè)備也可以是非移動設(shè)備,比如,個人計算機(PC)、大中型計算機、計算機集群等。
列舉的這些設(shè)備只是作為示例,并不構(gòu)成對本申請的限定。例如,在背景技術(shù)的例子中,第一設(shè)備和第二設(shè)備均為手機。
進一步地,第一設(shè)備上搭載第一客戶端,第二設(shè)備上搭載第二客戶端。一般地,第一客戶端、第二客戶端屬于同一個應(yīng)用(App)。
圖1為本申請實施例提供的一種文件傳輸方法的流程示意圖,第一客戶端與第二客戶端處于同一局域網(wǎng)中(也即,第一設(shè)備與第二設(shè)備處于同一局域網(wǎng)中),圖1中的流程以第一客戶端作為執(zhí)行主體,可以包括以下步驟:
S101:所述第一客戶端獲得所述第一客戶端的內(nèi)置服務(wù)器在所述局域網(wǎng)中的地址信息。
在本申請實施例中,所述局域網(wǎng)可以是無線局域網(wǎng),比如無線保真(Wireless Fidelity,WiFi)網(wǎng)絡(luò)、全球微波互聯(lián)接入(Worldwide Interoperability for Microwave Access,WiMAX)網(wǎng)絡(luò)等;所述局域網(wǎng)也可以是通過網(wǎng)線、電纜、或光纖等互聯(lián)的有線局域網(wǎng)。
在本申請實施例中,第一客戶端的內(nèi)置服務(wù)器可以是預(yù)先建立的,也可以是在執(zhí)行步驟S101時實時地建立的。內(nèi)置服務(wù)器可以建立于第一設(shè)備上的至少一個應(yīng)用中,也可以不依賴于應(yīng)用,而是建立于第一設(shè)備的操作系統(tǒng)中,甚至還可以建立于第一設(shè)備的至少一個硬件的驅(qū)動程序中。
內(nèi)置服務(wù)器至少可以提供局域網(wǎng)內(nèi)的數(shù)據(jù)傳輸服務(wù)。本申請對所述數(shù)據(jù)傳輸服務(wù)所基于的傳輸協(xié)議并不做限定,可以是超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)、文件傳輸協(xié)議(File Transfer Protocol,F(xiàn)TP)、或簡單文件傳輸協(xié)議(Trivial File Transfer Protocol,TFTP)等。以HTTP為例,內(nèi)置服務(wù)器具體可以是HTTP服務(wù)器(HTTPServer)。
在本申請實施例中,內(nèi)置服務(wù)器在局域網(wǎng)中的地址信息可以是由局域網(wǎng)自動分配的,也可以是由第一客戶端自動配置的,也可以是用戶預(yù)先手動配置的。
地址信息可以包括局域網(wǎng)IP地址和端口號,另外,若第一客戶端在局域網(wǎng)內(nèi)擁有域名,則地址信息可以包括域名和端口號。為了便于使用,地址信息一般是用統(tǒng)一資源定位器(Uniform Resource Locator,URL)的形式表示的,比如,某個第一客戶端的某個內(nèi)置服務(wù)器的地址信息可以表示如下:
“http://192.168,0.100:15000”。
其中,“192.168,0.100”為該內(nèi)置服務(wù)器的局域網(wǎng)IP地址,“15000”為該內(nèi)置服務(wù)器的端口號。
需要說明的是,URL是地址信息的一種表示形式示例,并非是對本申請的限定,在實際應(yīng)用中,也可以采用其他的表示形式表示地址信息,比如,可擴展標(biāo)記語言(Extensible Markup Language,XML)等。
S102:所述第一客戶端根據(jù)所述地址信息,生成包含所述地址信息的數(shù)字對象唯一標(biāo)識符(Digital Object Unique Identifier,DOI),以便于所述第二客戶端通過掃描所述DOI,向所述內(nèi)置服務(wù)器發(fā)送文件。
在本申請實施例中,DOI包括但不限于:二維碼、條形碼、字符碼、網(wǎng)絡(luò)域名等。下面的實施例主要以DOI是二維碼為例進行說明。
在本申請實施例中,所述文件可以是圖片,也可以是諸如視頻、文檔、音樂、或應(yīng)用安裝包等其他文件。
在本申請實施例中,在第一客戶端生成DOI后,可以直接通過第一客戶端即時地將DOI進行展示;可以將DOI輸出后以其他方式展示,比如,在實物上打印出來展示,通過某些應(yīng)用發(fā)布展示,等等。
進一步地,第二客戶端可以掃描展示的DOI,解析獲得DOI包含的地址信息,進而可以根據(jù)該地址信息與內(nèi)置服務(wù)器建立連接,以及通過該連接,向內(nèi)置服務(wù)器發(fā)送文件。所述文件即為第二客戶端待傳輸給第一客戶端的文件,掃描DOI的功能可以由第二設(shè)備或者與連接第二設(shè)備的相應(yīng)硬件設(shè)備提供支持,如攝像頭等。
需要說明的是,在圖1的流程執(zhí)行期間,第二客戶端未必要一直與第一客戶端處于同一局域網(wǎng)中。第二客戶端可以只在需要執(zhí)行某些具體動作(比如,掃描DOI碼、發(fā)送文件)時,才與第一客戶端處于同一局域網(wǎng)中。
S103:所述第一客戶端獲得所述內(nèi)置服務(wù)器接收到的所述文件。
在本申請實施例中,由于內(nèi)置服務(wù)器位于第一客戶端中,屬于第一客戶端的組成部分,因此,“內(nèi)置服務(wù)器接收文件”也即“第一客戶端接收文件”。
第一客戶端獲得第二客戶端發(fā)送的文件后,還可以針對文件執(zhí)行進一步的動作。比如,將文件保存至特定位置(如保存至本地相冊中等)、采用特定應(yīng)用(如用圖片查看器或網(wǎng)頁瀏覽器打開等)將文件打開、或生成文件的預(yù)覽界面,等等。這些動作可以由內(nèi)置服務(wù)器繼續(xù)執(zhí)行,也可以由第一客戶端上的其他程序執(zhí)行。
通過圖1中的方法,第一客戶端與第二客戶端可以分別位于要傳輸文件的兩個移動設(shè)備上,圖片屬于文件的一種,這兩個移動設(shè)備無需接入因特網(wǎng),也無需與諸如云盤服務(wù)器等第三方服務(wù)器進行交互,只需要利用局域網(wǎng)即可完成移動設(shè)備間的圖片傳輸,相比于因特網(wǎng),局域網(wǎng)的安全性更容易保障,可以減少數(shù)據(jù)泄露風(fēng)險,因此,可以部分或全部地解決背景技術(shù)中的問題。
不僅如此,由于文件傳輸?shù)倪^程是基于局域網(wǎng)進行的,因此,不會耗費雙方用戶移動設(shè)備的付費網(wǎng)絡(luò)流量。一般而言,局域網(wǎng)提供給用戶的傳輸帶寬要大于甚至遠大于因特網(wǎng)的付費網(wǎng)絡(luò)帶寬,因此,還可以減少文件傳輸耗時。本申請的方案也無需使用云盤,因此,也無需用戶為使用云盤額外付費。
在實際應(yīng)用中,現(xiàn)有技術(shù)除了背景技術(shù)中提到的基于云盤的圖片傳輸方式以外,還有基于即時通訊應(yīng)用的圖片傳輸方式,但是,后者一般也需要用戶設(shè)備接入因特網(wǎng),并通過因特網(wǎng)進行圖片傳輸,因此,也存在與基于云盤的圖片傳輸方式類似的問題,在此不贅述。另外,現(xiàn)有技術(shù)還有基于藍牙或者紅外的圖片傳輸方式,但是這類方式需要諸如藍牙技術(shù)、紅外技術(shù)等專用的硬件模塊和通訊協(xié)議的支持,而且可能需要用戶配置復(fù)雜的技術(shù)參數(shù),實施成本較高,相比于這類方式,本申請的方案無需增加專用的硬件模塊和通訊協(xié)議,也無需用戶配置復(fù)雜的技術(shù)參數(shù),因此,實施成本較低。
基于圖1中的方法,本申請實施例還提供了該方法的一些具體實施方案,以及擴展方案,下面進行說明。
在本申請實施例中,為了減少第一客戶端的資源消耗,第一客戶端的內(nèi)置服務(wù)器可以不用一直保持已啟動的狀態(tài),而是在需要傳輸文件時,再由基于用戶的操作而啟動。在這種情況下,對于步驟S102,所述第一客戶端獲得所述第一客戶端的內(nèi)置服務(wù)器在所述局域網(wǎng)中的地址信息前,還可以執(zhí)行:所述第一客戶端啟動所述第一客戶端的內(nèi)置服務(wù)器。需要說明的是,若內(nèi)置服務(wù)器在局域網(wǎng)中的地址信息已經(jīng)預(yù)先配置的話,則第一客戶端也可以在內(nèi)置服務(wù)器啟動前就執(zhí)行步驟S101,相應(yīng)地,內(nèi)置服務(wù)器也只需要在第二客戶端與內(nèi)置服務(wù)器建立連接前啟動即可。
進一步地,為了便于用戶使用,內(nèi)置服務(wù)器還可以有相應(yīng)的操作界面(可以保存為相應(yīng)的操作界面信息),所述操作界面可以包括:用于在第一客戶端上展示的界面(比如,用于啟動內(nèi)置服務(wù)器的控制界面等)、和/或用于在第二客戶端上展示的界面(比如,用于選取待傳輸文件的文件傳輸界面等)。操作界面中可以包含相應(yīng)的操作提示信息和操作控件。
本申請對所述操作界面的構(gòu)建方式并不做限定。一般地,可以使用基于的超文本標(biāo)記語言(HyperText Markup Language,HTML)、層疊樣式表(Cascading Style Sheets,CSS),以及至少一種腳本語言(比如,javascript、python等)的網(wǎng)頁視圖(webview)解決方案來構(gòu)建操作界面。
以所述操作界面是文件傳輸界面為例,對于步驟S102,生成包含所述地址信息的DOI后,第一客戶端還可以執(zhí)行:向所述第二客戶端提供文件傳輸界面信息,以便于所述第二客戶端根據(jù)所述文件傳輸界面信息,展示用于發(fā)送所述文件的文件傳輸界面。從而可以提高第二客戶端用戶的操作便利性。
在本申請實施例中,前面已經(jīng)提到所述的局域網(wǎng)可以為無線局域網(wǎng),也可以為有線局域網(wǎng)??紤]到用戶一般更多地使用移動設(shè)備傳輸圖片,而移動設(shè)備采用無線通信方式,因此,在實際應(yīng)用中,本申請的方案可能會更多地在無線局域網(wǎng)的場景下使用。
目前,WiFi網(wǎng)絡(luò)是使用最為廣泛的無線局域網(wǎng),日常生活中幾乎隨處可見,WiFi網(wǎng)絡(luò)的使用普及,可以給本申請的方案的實際應(yīng)用帶來極大便利。沿用背景技術(shù)中的例子,在商業(yè)運營活動中,商家一般會提供免費的WiFi網(wǎng)絡(luò)以供用戶使用,則基于本申請的方案和該WiFi網(wǎng)絡(luò),用戶可以便利地分享圖片或圖片以外的其他文件。
上面主要以第一客戶端為方法執(zhí)行主體,對本申請的方案進行了說明。為了進一步地幫助理解,基于同樣的思路,本申請實施例還提供了另一種文件傳輸方法的流程示意圖,如圖2所示。
第一客戶端與第二客戶端處于同一局域網(wǎng)中,圖2中的流程以第二客戶端作為執(zhí)行主體,可以包括以下步驟:
S201:所述第二客戶端掃描所述第一客戶端生成的DOI,其中,所述DOI中包含所述第一客戶端中的內(nèi)置服務(wù)器在所述局域網(wǎng)中的地址信息。
S202:所述第二客戶端獲得所述DOI中包含的所述地址信息。
在本申請實施例中,第二客戶端通過掃描DOI,并進行解析獲得DOI中包含的地址信息。
S203:所述第二客戶端根據(jù)所述地址信息,向所述內(nèi)置服務(wù)器發(fā)送文件,以便于所述第一客戶端獲得所述內(nèi)置服務(wù)器接收到的所述文件。
在本申請實施例中,第二客戶端與內(nèi)置服務(wù)器之間的文件傳輸是依賴于第一客戶端與第二客戶端同處的局域網(wǎng)進行的,而無需依賴因特網(wǎng)。第二客戶端在該局域網(wǎng)中也具有局域網(wǎng)IP地址,第二客戶端正是通過自己的局域網(wǎng)IP地址(以及某個端口號)與內(nèi)置服務(wù)器進行通信的。
圖2的方法與圖1的方法實質(zhì)相同,只是從不同的角度描述的,因此,兩者的技術(shù)效果也相同,前面已經(jīng)對圖1的方法的技術(shù)效果進行了詳細說明,在此不贅述。
基于圖2中的方法,本申請實施例還提供了該方法的一些具體實施方案,以及擴展方案,下面進行說明。
在本申請實施例中,對于步驟S203,所述第二客戶端根據(jù)所述地址信息,向所述內(nèi)置服務(wù)器發(fā)送文件,具體可以包括:所述第二客戶端根據(jù)所述地址信息,通過所述局域網(wǎng),與所述內(nèi)置服務(wù)器建立連接;所述第二客戶端通過所述連接,向所述內(nèi)置服務(wù)器發(fā)送文件。
當(dāng)局域網(wǎng)內(nèi)要向第一客戶端傳輸文件的第二客戶端有多個時,也未必需要所有的第二客戶端分別與內(nèi)置服務(wù)器建立連接,至少有一個第二客戶端與內(nèi)置服務(wù)器建立連接即可。在這種情況下,未與內(nèi)置服務(wù)器建立連接的各第二客戶端可以通過已與內(nèi)置服務(wù)器建立了連接的第二客戶端的中轉(zhuǎn),向內(nèi)置服務(wù)器發(fā)送文件。
在本申請實施例中,前面已經(jīng)提到,為了便于用戶使用,內(nèi)置服務(wù)器可以有用于在第二客戶端上展示的界面,該界面是提供給第二客戶端使用的,該界面具體可以是文件傳輸界面。在這種情況下,對于上述的所述第二客戶端通過所述連接,向所述內(nèi)置服務(wù)器發(fā)送文件,具體可以包括:所述第二客戶端通過所述連接,獲得所述第一客戶端提供的文件傳輸界面信息;根據(jù)所述文件傳輸界面信息,展示文件傳輸界面;確定用戶通過所述文件傳輸界面在所述第二客戶端上選取的文件,并向所述內(nèi)置服務(wù)器發(fā)送所述文件。
第二客戶端從第一客戶端獲得文件傳輸界面信息的過程類似于通過瀏覽器打開網(wǎng)頁的過程。在這種類比中,文件傳輸界面信息相當(dāng)于是該網(wǎng)頁文件本身或該網(wǎng)頁的源代碼,內(nèi)置服務(wù)器的地址信息相當(dāng)于是該網(wǎng)頁的網(wǎng)址。
上面分別從第一客戶端、第二客戶端的角度對本申請的方案進行了說明。本申請實施例還提供了一種實際應(yīng)用場景下,本申請的方案中的交互過程示意圖,以幫助從整體上理解本申請的方案,該交互過程如圖3所示。
在圖3的應(yīng)用場景下,上述的第一客戶端搭載于手機a上,上述的第二客戶端搭載于手機b上,上述的文件為圖片,上述的DOI為二維碼,上述的局域網(wǎng)為WiFi網(wǎng)絡(luò)。在實際應(yīng)用中,是手機a與手機b這兩端進行交互,但是,由于交互過程可以涉及到手機a生成的二維碼,以及手機b上展示的文件傳輸界面,因此,為了使交互過程看起來邏輯更加清晰,將二維碼、文件傳輸界面也分別獨立作為交互過程中的一端。
在圖3中,手機a與手機b處于同一WiFi網(wǎng)絡(luò)中。
手機a啟動內(nèi)置服務(wù)器,并根據(jù)內(nèi)置服務(wù)器在該WiFi網(wǎng)絡(luò)中的地址信息,生成二維碼并展示;
手機b通過掃描該二維碼,連接內(nèi)置服務(wù)器,生成文件傳輸界面,以供用于選取待傳輸?shù)膱D片,進而,將用戶選取的圖片向內(nèi)置服務(wù)器發(fā)送;
手機a接收圖片并保存至本地相冊中,從而完成了手機間的圖片分享。
本申請的方案可以基于現(xiàn)有的移動設(shè)備實現(xiàn),無需更新硬件,從軟件層面即可實現(xiàn)。本申請實施例提供了一種用于實現(xiàn)本申請的方案的軟件架構(gòu)示意圖,如圖4所示。
在圖4中,軟件架構(gòu)按照功能不同可以劃分為視圖層、工具層、網(wǎng)絡(luò)層這四層。
在視圖層,采用了javascript+CSS+HTML的解決方案用以構(gòu)建可視化界面。
在工具層,采用DOI生成器生成DOI,以及采用FileSource模塊對第一客戶端接收到的文件執(zhí)行保存(可以通過調(diào)用相應(yīng)的應(yīng)用程序接口實現(xiàn))等處理動作。
在網(wǎng)絡(luò)層,HTTPServer用于處理啟動內(nèi)置服務(wù)器的服務(wù),HTTPResponse用于處理文件傳輸?shù)捻憫?yīng),HTTPConnection用于建立內(nèi)置服務(wù)器與第二客戶端之間連接,AsyncSocket用于提供Socket協(xié)議以進行長連接,保證文件傳輸過程不中斷。
需要說明的是,圖4中的軟件架構(gòu)僅是一種示例,在實際應(yīng)用中,其分層方式和架構(gòu)中的各模塊名稱可以不同于圖4。
為了便于對比現(xiàn)有技術(shù)的方案與本申請的方案的差異,以下還提供了更直觀的方案原理示意圖,如圖5、圖6所示。
圖5為一種實際應(yīng)用場景(沿用圖3的場景)下,現(xiàn)有技術(shù)的方案的原理示意圖。當(dāng)采用現(xiàn)有技術(shù)時,若手機b要分享圖片給手機a,則雙方手機均需要安裝云盤應(yīng)用,并均需要接入因特網(wǎng)。手機b通過手機b上的云盤應(yīng)用,將手機b的本地相冊中待分享的圖片上傳至因特網(wǎng)中的云盤服務(wù)器,手機a通過手機a上的云盤應(yīng)用,將手機b分享的圖片從云盤服務(wù)器中下載下來,并保存至手機a的本地相冊中。
圖6為本申請實施例提供的一種實際應(yīng)用場景(沿用圖3的場景)下,本申請的方案的原理示意圖。圖6中的交互過程參見對圖3的說明,在此不贅述。
以上為本申請實施例提供的文件傳輸方法,基于同樣的思路,本申請實施例還提供相應(yīng)的文件傳輸裝置,如圖7、圖8所示。
圖7為本申請實施例提供的對應(yīng)于圖1的文件傳輸裝置的結(jié)構(gòu)示意圖,該裝置位于第一客戶端上,第一客戶端與第二客戶端處于同一局域網(wǎng)中,該裝置可以包括:
地址信息獲得模塊701,獲得所述第一客戶端的內(nèi)置服務(wù)器在所述局域網(wǎng)中的地址信息;
DOI生成模塊702,根據(jù)所述地址信息,生成包含所述地址信息的DOI,以便于所述第二客戶端通過掃描所述DOI,向所述內(nèi)置服務(wù)器發(fā)送文件;
文件獲得模塊703,獲得所述內(nèi)置服務(wù)器接收到的所述文件。
可選地,所述裝置還包括:
內(nèi)置服務(wù)器啟動模塊704,在所述地址信息獲得模塊獲得所述第一客戶端的內(nèi)置服務(wù)器在所述局域網(wǎng)中的地址信息前,啟動所述第一客戶端的內(nèi)置服務(wù)器,其中,所述內(nèi)置服務(wù)器建立于所述第一客戶端上的至少一個應(yīng)用中。
可選地,所述裝置還包括:
文件傳輸界面模塊705,在所述DOI生成模塊702生成包含所述地址信息的DOI后,向所述第二客戶端提供文件傳輸界面信息,以便于所述第二客戶端根據(jù)所述文件傳輸界面信息,展示用于發(fā)送所述文件的文件傳輸界面。
可選地,所述地址信息包括局域網(wǎng)IP地址和端口號。
可選地,所述文件為圖片。
可選地,所述裝置還包括:
文件保存模塊706,將所述文件保存到本地相冊中。
可選地,所述局域網(wǎng)為WiFi網(wǎng)絡(luò)。
可選地,所述DOI為二維碼。
圖8為本申請實施例提供的對應(yīng)于圖2的文件傳輸裝置的結(jié)構(gòu)示意圖,該裝置位于第二客戶端上,第一客戶端與第二客戶端處于同一局域網(wǎng)中,該裝置可以包括:
DOI掃描模塊801,掃描所述第一客戶端生成的DOI,其中,所述DOI中包含所述第一客戶端中的內(nèi)置服務(wù)器在所述局域網(wǎng)中的地址信息;
地址信息獲得模塊802,獲得所述DOI中包含的所述地址信息;
文件發(fā)送模塊803,根據(jù)所述地址信息,向所述內(nèi)置服務(wù)器發(fā)送文件,以便于所述第一客戶端獲得所述內(nèi)置服務(wù)器接收到的所述文件。
可選地,文件發(fā)送模塊803,根據(jù)所述地址信息,通過所述局域網(wǎng),與所述內(nèi)置服務(wù)器建立連接,通過所述連接,向所述內(nèi)置服務(wù)器發(fā)送文件。
可選地,文件發(fā)送模塊803,通過所述連接,獲得所述第一客戶端提供的文件傳輸界面信息,根據(jù)所述文件傳輸界面信息,展示文件傳輸界面,確定用戶通過所述文件傳輸界面在所述第二客戶端上選取的文件,并向所述內(nèi)置服務(wù)器發(fā)送所述文件。
可選地,所述地址信息包括局域網(wǎng)IP地址和端口號。
可選地,所述文件為圖片。
可選地,所述局域網(wǎng)為WiFi網(wǎng)絡(luò)。
可選地,所述DOI為二維碼。
本申請?zhí)峁┑难b置是與本申請?zhí)峁┑姆椒ㄒ灰粚?yīng)的,因此,所述裝置也具有與所述方法類似的技術(shù)效果,由于上面已經(jīng)對所述方法的技術(shù)效果進行了詳細說明,因此,這里不再贅述所述裝置的技術(shù)效果。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設(shè)備包括一個或多個處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內(nèi)存是計算機可讀介質(zhì)的示例。
計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號和載波。
還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。