本申請(qǐng)?zhí)峁┮环N文件上傳方法和裝置,其中方法包括:修改HTML表單中的文件上傳控件的輸入類型屬性為非文件;在所述文件上傳控件中自動(dòng)設(shè)置待上傳的目標(biāo)文件的文件路徑;在提交所述HTML表單后,攔截瀏覽器向所述HTML表單對(duì)應(yīng)的目標(biāo)服務(wù)器發(fā)送的表單提交請(qǐng)求包,所述表單提交請(qǐng)求包中包括:所述HTML表單中的文件上傳控件中設(shè)置的目標(biāo)文件的文件路徑;根據(jù)所述文件路徑獲取所述目標(biāo)文件,并將所述目標(biāo)文件插入所述表單提交請(qǐng)求包,以將所述目標(biāo)文件發(fā)送至所述目標(biāo)服務(wù)器。本申請(qǐng)實(shí)現(xiàn)了文件的自動(dòng)上傳和提交,提高了文件上傳效率。
【技術(shù)實(shí)現(xiàn)步驟摘要】
一種文件上傳方法和裝置
本申請(qǐng)涉及計(jì)算機(jī)技術(shù),特別涉及一種文件上傳方法和裝置。
技術(shù)介紹
有些工作場(chǎng)景涉及到文件上傳,例如,按照業(yè)務(wù)要求在客戶端將一些商務(wù)文件提交至審核文件的服務(wù)器。為了實(shí)現(xiàn)文件上傳,其中一種可以采用的上傳方式為:假設(shè)要向某單位的服務(wù)器上傳文件,可以在客戶端側(cè)的瀏覽器中打開該單位的HTML頁面,該HTML頁面中包括HTML表單,該HTML表單中可以包括多種用于作為接收用戶輸入信息容器的控件,用戶可以通過訪問這些控件向HTML表單中提交信息,當(dāng)點(diǎn)擊提交后,瀏覽器可以將HTML表單中接收的信息向服務(wù)器發(fā)送,實(shí)現(xiàn)HTML表單的提交。例如,HTML表單中的其中一種用于接收用戶上傳的文件的控件即文件上傳控件,用戶可以點(diǎn)擊這個(gè)控件選擇一個(gè)文件,或者在這個(gè)控件中輸入文件路徑名稱。待點(diǎn)擊提交按鈕后,若控件接收的是文件路徑,瀏覽器可以根據(jù)文件路徑找到文件讀出內(nèi)容,并將文件內(nèi)容插入HTTP請(qǐng)求包中,發(fā)送給服務(wù)器。但是,出于保護(hù)用戶文件的安全性考慮,對(duì)于包含文件上傳控件的HTML表單,大多數(shù)瀏覽器只允許用戶手動(dòng)訪問文件上傳控件進(jìn)行文件上傳,而這種人工文件上傳的方式使得文件上傳的效率較低。
技術(shù)實(shí)現(xiàn)思路
有鑒于此,本申請(qǐng)?zhí)峁┮环N文件上傳方法和裝置,以通過訪問文件上傳控件實(shí)現(xiàn)文件的自動(dòng)上傳和提交,提高文件上傳效率。具體地,本申請(qǐng)是通過如下技術(shù)方案實(shí)現(xiàn)的:第一方面,提供一種文件上傳方法,所述方法包括:修改HTML表單中的文件上傳控件的輸入類型屬性為非文件;在所述文件上傳控件中自動(dòng)設(shè)置待上傳的目標(biāo)文件的文件路徑;在提交所述HTML表單后,攔截瀏覽器向所述HTML表單對(duì)應(yīng)的目標(biāo)服務(wù)器發(fā)送的表單提交請(qǐng)求包,所述表單提交請(qǐng)求包中包括:所述HTML表單中的文件上傳控件中設(shè)置的目標(biāo)文件的文件路徑;根據(jù)所述文件路徑獲取所述目標(biāo)文件,并將所述目標(biāo)文件插入所述表單提交請(qǐng)求包,以將所述目標(biāo)文件發(fā)送至所述目標(biāo)服務(wù)器。第二方面,提供一種文件上傳裝置,所述裝置包括:屬性修改模塊,用于修改HTML表單中的文件上傳控件的輸入類型屬性為非文件;控件設(shè)置模塊,用于在所述文件上傳控件中自動(dòng)設(shè)置待上傳的目標(biāo)文件的文件路徑;請(qǐng)求攔截模塊,用于在提交所述HTML表單后,攔截瀏覽器向所述HTML表單對(duì)應(yīng)的目標(biāo)服務(wù)器發(fā)送的表單提交請(qǐng)求包,所述表單提交請(qǐng)求包中包括:所述HTML表單中的文件上傳控件中設(shè)置的目標(biāo)文件的文件路徑;文件插入模塊,用于根據(jù)所述文件路徑獲取所述目標(biāo)文件,并將所述目標(biāo)文件插入所述表單提交請(qǐng)求包,以將所述目標(biāo)文件發(fā)送至所述目標(biāo)服務(wù)器。本申請(qǐng)?zhí)峁┑奈募蟼鞣椒ê脱b置,通過修改文件上傳控件的屬性,使得瀏覽器放棄對(duì)控件的保護(hù),可以向控件中自動(dòng)設(shè)置文件路徑,并且可以由攔截工具代替瀏覽器根據(jù)文件路徑在請(qǐng)求包中插入待上傳文件,從而實(shí)現(xiàn)了文件的自動(dòng)上傳和提交,提高了文件上傳效率。附圖說明圖1是本申請(qǐng)一示例性實(shí)施例示出的一種文件上傳方法的應(yīng)用場(chǎng)景圖;圖2是本申請(qǐng)一示例性實(shí)施例示出的一種文件上傳方法的流程圖;圖3是本申請(qǐng)一示例性實(shí)施例示出的一種文件上傳方法的實(shí)現(xiàn)原理圖;圖4是本申請(qǐng)一示例性實(shí)施例示出的一種文件上傳方法的流程圖;圖5是本申請(qǐng)一示例性實(shí)施例示出的一種文件上傳裝置的結(jié)構(gòu)圖;圖6是本申請(qǐng)一示例性實(shí)施例示出的另一種文件上傳裝置的結(jié)構(gòu)圖。具體實(shí)施方式這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請(qǐng)相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請(qǐng)的一些方面相一致的裝置和方法的例子。本申請(qǐng)實(shí)施例提供的文件上傳方法,可以應(yīng)用于瀏覽器環(huán)境下通過HTML表單中的文件上傳控件來上傳文件,這里的文件不限制類型,例如,word文件、PDF文件、txt文檔等。圖1示例了本方法的一種應(yīng)用環(huán)境,如圖1所示,文件上傳可以發(fā)生在終端11與服務(wù)器12之間,例如,某個(gè)部門根據(jù)業(yè)務(wù)需求指定用戶向其服務(wù)器12上傳一些文件供審核所用,終端11可以是一個(gè)電腦,用戶可以在該電腦上打開瀏覽器13,并在瀏覽器13中打開上述部門的一個(gè)客戶端網(wǎng)站,該網(wǎng)站可以采用HTML頁面14。HTML頁面14中可以包括一個(gè)HTML表單15,用戶即可通過該HTML表單15來上傳文件,待用戶上傳文件之后,瀏覽器13可以負(fù)責(zé)將HTML表單15提交,即將HTML表單15中用戶輸入的信息封裝成表單提交請(qǐng)求包發(fā)送至服務(wù)器12,其中包括上傳的文件。HTML表單是HTML頁面中的一種用戶交互組件,可以作為容器組裝其他交互控件,例如,文本框控件、按鈕控件、單選框控件等,用戶具體可以通過這些控件向HTML表單中輸入信息。本例子中,如圖1所示,HTML表單15中可以包括多種類型的控件,其中一種控件即文件上傳控件16。文件上傳控件是一種特殊的供用戶提交信息的HTML控件,允許用戶在該控件中上傳一個(gè)選擇的文件,后續(xù)瀏覽器可以將該控件中的文件發(fā)送至服務(wù)器。用戶可以通過圖1所示的HTML表單中的文件上傳控件16上傳文件,但是,出于保護(hù)用戶文件的安全性考慮,大多數(shù)瀏覽器只允許用戶手動(dòng)訪問該控件上傳文件,例如,當(dāng)用戶人工操作上傳文件時(shí),可以點(diǎn)擊文件上傳控件16,在該控件中輸入一個(gè)文件,或者在控件中輸入文件路徑,然后點(diǎn)擊圖1中的提交按鈕17。瀏覽器13可以執(zhí)行HTML表單的提交,將表單中包括的文件上傳控件16中的文件發(fā)送至表單指定的服務(wù)器12。而如果一個(gè)自動(dòng)化程序訪問該文件上傳控件16,并自動(dòng)向該控件中上傳文件或文件路徑,則根據(jù)上述的保護(hù)文件原則,瀏覽器13會(huì)將控件中的內(nèi)容清空,不允許上傳。如上所述,如果在通過HTML表單中的文件上傳控件上傳文件時(shí),用戶只能手動(dòng)操作文件上傳并提交HTML表單,將使得文件上傳的效率較低,基于此,為了提高文件上傳的效率,本申請(qǐng)實(shí)施例提供了一種文件上傳方法,該方法可以避開常規(guī)的對(duì)于文件上傳控件的保護(hù),能夠自動(dòng)操作HTML表單中的文件上傳控件進(jìn)行文件上傳,并自動(dòng)觸發(fā)HTML表單的提交,相對(duì)于人工操作可以顯著提高文件上傳效率。如下將詳細(xì)描述該方法:圖2示例了本申請(qǐng)實(shí)施例的文件上傳方法的流程,該方法可以由一個(gè)文件上傳裝置執(zhí)行,該裝置可以實(shí)現(xiàn)為一個(gè)自動(dòng)化程序,該裝置可以運(yùn)行在圖1所示的終端11上。如圖2所示,該方法可以包括如下處理:在步驟201中,修改HTML表單中的文件上傳控件的輸入類型屬性為非文件。例如,通常文件上傳控件的輸入類型屬性限定為文件,<inputtype=”file”…>,可以將其修改為<inputtype=”text”…>,相當(dāng)于將文件上傳控件更改為一個(gè)文本框控件,這種修改可以使得瀏覽器放棄對(duì)這個(gè)文件上傳控件的特殊保護(hù),而允許文件上傳裝置設(shè)置控件的內(nèi)容。在步驟202中,在文件上傳控件中設(shè)置待上傳的目標(biāo)文件的文件路徑。例如,在經(jīng)過步驟201的屬性修改后,瀏覽器將不再對(duì)該控件進(jìn)行保護(hù),本步驟中,文件上傳裝置可以根據(jù)業(yè)務(wù)需求向圖1中的文件上傳控件16中設(shè)置待上傳的目標(biāo)文件的文件路徑。在一個(gè)例子中,文件上傳裝置可以是根據(jù)預(yù)配置的上傳文件信息,在指定的文件上傳控件中設(shè)置對(duì)應(yīng)的目標(biāo)文件的文件路徑。比如,用戶可以設(shè)本文檔來自技高網(wǎng)...

【技術(shù)保護(hù)點(diǎn)】
一種文件上傳方法,其特征在于,所述方法包括:修改HTML表單中的文件上傳控件的輸入類型屬性為非文件;在所述文件上傳控件中自動(dòng)設(shè)置待上傳的目標(biāo)文件的文件路徑;在提交所述HTML表單后,攔截瀏覽器向所述HTML表單對(duì)應(yīng)的目標(biāo)服務(wù)器發(fā)送的表單提交請(qǐng)求包,所述表單提交請(qǐng)求包中包括:所述HTML表單中的文件上傳控件中設(shè)置的目標(biāo)文件的文件路徑;根據(jù)所述文件路徑獲取所述目標(biāo)文件,并將所述目標(biāo)文件插入所述表單提交請(qǐng)求包,以將所述目標(biāo)文件發(fā)送至所述目標(biāo)服務(wù)器。
【技術(shù)特征摘要】
1.一種文件上傳方法,其特征在于,所述方法包括:修改HTML表單中的文件上傳控件的輸入類型屬性為非文件;在所述文件上傳控件中自動(dòng)設(shè)置待上傳的目標(biāo)文件的文件路徑;在提交所述HTML表單后,攔截瀏覽器向所述HTML表單對(duì)應(yīng)的目標(biāo)服務(wù)器發(fā)送的表單提交請(qǐng)求包,所述表單提交請(qǐng)求包中包括:所述HTML表單中的文件上傳控件中設(shè)置的目標(biāo)文件的文件路徑;根據(jù)所述文件路徑獲取所述目標(biāo)文件,并將所述目標(biāo)文件插入所述表單提交請(qǐng)求包,以將所述目標(biāo)文件發(fā)送至所述目標(biāo)服務(wù)器。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在所述文件上傳控件中設(shè)置待上傳的目標(biāo)文件的文件路徑,包括:根據(jù)預(yù)配置的上傳文件信息,在指定的文件上傳控件中設(shè)置對(duì)應(yīng)的目標(biāo)文件的文件路徑。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:所述HTML表單中設(shè)置有增加字段,所述增加字段中包括所述文件路徑的位置信息、以及表示啟動(dòng)文件上傳功能的標(biāo)識(shí)信息;在所述攔截瀏覽器向HTML表單對(duì)應(yīng)的目標(biāo)服務(wù)器發(fā)送的表單提交請(qǐng)求包之后,讀取所述HTML表單中的增加字段,根據(jù)所述標(biāo)識(shí)信息,執(zhí)行由所述文件路徑的位置信息獲取文件路徑。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括:在所述HTML表單中設(shè)置增加字段時(shí),以密鑰對(duì)所述增加字段中的信息進(jìn)行加密生成數(shù)字簽名;當(dāng)讀取所述HTML表單的增加字段之后,以所述密鑰驗(yàn)證所述數(shù)字簽名。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述HTML表單中包括至少一個(gè)所述文件上傳控件。6.一種文件上傳裝置,其特征在于,所述裝置包括:屬性修改...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:范曉鋒,
申請(qǐng)(專利權(quán))人:阿里巴巴集團(tuán)控股有限公司,
類型:發(fā)明
國別省市:開曼群島,KY
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。