文件上傳方法及系統的製作方法
2023-09-22 03:54:55 1
文件上傳方法及系統的製作方法
【專利摘要】本發明公開了一種文件上傳方法,包括以下步驟:在客戶端的瀏覽器上顯示上傳頁面;判斷客戶端的瀏覽器上是否安裝有上傳插件;若客戶端的瀏覽器上沒有安裝上傳插件,則安裝上傳插件;若客戶端的瀏覽器上已經安裝了上傳插件,在上傳頁面上選擇需要上傳的文件,並將選擇的文件加入到上傳隊列中;從上傳隊列中獲取一個文件;及上傳獲取的文件。在安裝了上傳插件以後,所述客戶端的瀏覽器就可以通過所述上傳插件來建立與所述伺服器之間的連接,解決了客戶端上的瀏覽器本身不支持上傳超過2G的大文件的問題。另,本發明還是公開了一種文件上傳系統。
【專利說明】文件上傳方法及系統
【技術領域】
[0001]本發明涉及一種文件上傳技術,尤其涉及一種基於瀏覽器的文件上傳方法及系統。
【背景技術】
[0002]隨著網際網路快速的發展隨著網際網路快速發展,網際網路的應用越來越豐富,大部分的網站都提供了上傳文件的服務,比如郵箱的附件上傳,圖片上傳。現有的文件的上傳方法,其通過瀏覽器直接上傳,其上傳步驟為:(1)用戶選擇需要上傳的文件;(2)瀏覽器取得文件信息傳給伺服器;(3)伺服器處理上傳的文件。在這種處理方式下,瀏覽器只能上傳小於2G的小文件,而無法上傳超過2G的大文件。
【發明內容】
[0003]為了解決現在的瀏覽器不支持上傳超過2G的大文件的問題,本發明提供一種新的方法,能夠通過文件上傳系統使用戶通過瀏覽器直接上傳超過2G的大文件,從而解決了瀏覽器不支持上傳超過2G的大文件的問題。
[0004]一種文件上傳方法,包括以下步驟:
在客戶端的瀏覽器上顯示上傳頁面;
判斷所述客戶端的瀏覽器上是否安裝有上傳插件;
若所述客戶端的瀏覽器上沒有安裝所述上傳插件,則安裝所述上傳插件;
若所述客戶端的瀏覽器上已經安裝了所述上傳插件,在所述上傳頁面上選擇需要上傳的文件,並將選擇的文件加入到上傳隊列中;
從上傳隊列中獲取一個文件;及 上傳獲取的文件。
[0005]本發明實施例還提供一種文件上傳系統,運行於客戶端及伺服器中,其包括:
顯示模塊,用於在客戶端的瀏覽器上顯示上傳頁面;
判斷模塊,用於判斷所述客戶端的瀏覽器上是否安裝有上傳插件,若所述客戶端的瀏覽器上沒有安裝所述上傳插件,則安裝所述上傳插件;
選擇模塊,若所述客戶端的瀏覽器上已經安裝了所述上傳插件,在所述上傳頁面上選擇需要上傳的文件,並將選擇的文件加入到上傳隊列中;
獲取模塊,用於從上傳隊列中獲取一個文件;及 上傳模塊,用於上傳獲取的文件。
[0006]本發明的上述實施例中,由於具有判斷步驟或判斷模塊,可以自動判斷客戶端的瀏覽器上是否安裝了上傳插件,如果沒有安裝上傳插件,則立即安裝,在安裝了上傳插件以後,所述客戶端的瀏覽器就可以通過所述上傳插件來建立與所述伺服器之間的連接,解決了客戶端上的瀏覽器本身不支持上傳超過2G的大文件的問題。而且由於上傳插件可以在後臺運行,不會一直停留在當面的上傳頁面,因此,前臺的瀏覽器還可以做其他操作,給用戶的使用帶來很大的便利。
【專利附圖】
【附圖說明】
[0007]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0008]圖1是本發明客戶端與伺服器的網絡架構圖。
[0009]圖2是本發明實施例提供的文件上傳系統的功能模塊圖。
[0010]圖3是本發明實施例提供的文件上傳方法的流程圖。
具體實施例
[0011]下面結合附圖和具體實施例對本發明的技術方案作進一步更詳細的描述。顯然,所描述的實施例僅僅是本發明的一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動的前提下所獲得的所有其他實施例,都應屬於本發明保護的範圍。
[0012]如圖1所示,是本發明客戶端與伺服器的網絡架構圖。在本實施例中,所述客戶端100通過網絡200與所述伺服器300連接。所述客戶端100可以為筆記本電腦、計算機或可攜式移動終端等。所述伺服器300通過資料庫連接與資料庫400連接,所述資料庫連接可以是 JDBC (Java Database Connectivity, Java 資料庫連接)或 ODBC (Open DatabaseConnectivity,開放資料庫連接)等。文件上傳系統10安裝於所述客戶端100及所述伺服器300中。
[0013]如圖2所示,是本發明實施例提供的文件上傳系統的功能模塊圖。該文件上傳系統10包括顯示模塊11、判斷模塊12、選擇模塊13、獲取模塊14、輸出模塊15、檢測模塊16及上傳模塊17。其中所述顯示模塊11、所述判斷模塊12、所述選擇模塊13、所述獲取模塊14及所述上傳模塊17應用於所述客戶端100中,所述檢測模塊16應用於所述伺服器300中。
[0014]所述顯示模塊11用於在客戶端100的瀏覽器上顯示上傳頁面。具體地,所述顯示模塊11為一個網頁,向用戶顯示上傳文件的界面,用戶在頁面上進行上傳文件的操作。
[0015]所述判斷模塊12用於判斷所述客戶端100的瀏覽器上是否安裝有上傳插件。若所述客戶端100的瀏覽器上沒有安裝所述上傳插件,則會出現頁面提醒進行安裝上傳插件,其中,安裝所述上傳插件的過程與安裝普通的軟體相同,僅需點擊下一步即可,安裝所述上傳插件後重啟所述客戶端100即可使用。若所述客戶端100的瀏覽器上已經安裝了所述上傳插件,所述選擇模塊13用於在所述上傳頁面上選擇需要上傳的文件,並將選擇的文件加入到上傳隊列中。其中,上傳隊列的大小並沒有限制,理論上可以是無限多個,但是實際會受到所述客戶端100的內存的限制。若想同時存在很多個上傳隊列,只需要保證所述客戶端100有足夠的內存空間即可。
[0016]所述獲取模塊14用於從上傳隊列中獲取一個文件。
[0017]所述輸出模塊15用於提取上傳文件的信息並輸出至所述伺服器300。具體在提取上傳文件的信息後可以計算出一個特定值,將所述特定值輸出至所述伺服器300,以使每個特定值對應一個上傳文件。本實施例中,所述特定值為是根據上傳文件的數據進行計算得到的標識所述上傳文件的唯一值,用所述特定值可以區別不同的上傳文件,所述特定值具體表示為shal值。其中,提取上傳文件信息以及計算特定值的過程均可以通過所述上傳插件來實現。如此,在安裝了上傳插件以後,所述客戶端100的瀏覽器就可以通過所述上傳插件來建立與所述伺服器300之間的連接,解決了客戶端100上的瀏覽器本身不支持上傳超過2G的大文件的問題。而且由於上傳插件可以在後臺運行,不會一直停留在當面的上傳頁面,因此,前臺的瀏覽器還可以做其他操作,給用戶的使用帶來很大的便利。
[0018]所述檢測模塊16用於檢測由所述獲取模塊14獲取的文件是否已經在所述伺服器300中存在。在實際應用中,該檢測模塊16可以具體通過php腳本來實現。具體地,所述伺服器300根據文件的信息即特定值在所述資料庫400中查詢是否有所述獲取的文件。若所述獲取的文件在所述伺服器300中存在,則直接提示用戶上傳完成,再繼續從上傳隊列中獲取下一個文件,直到將上傳隊列中不存在文件,則上傳完成。如此,對於已經存在於所述伺服器300中的文件則不會再重複上傳,而是直接提示用戶上傳完成,提高了上傳速率,達到極速上傳的效果,並且避免了所述伺服器300中出現冗餘的文件,節省了所述伺服器300的存儲空間。
[0019]若所述獲取的文件在所述伺服器300中不存在,則通過上傳模塊17上傳所述獲取的文件。上傳完成後,提示用戶上傳完成,並繼續從上傳隊列中獲取下一個文件,直到將上傳隊列中的文件全部上傳完成。本實施例中,在上傳文件的過程由於採用的是異步傳輸,所以瀏覽器不會出現超時提示,避免了由於上傳時間太久給用戶造成不便,即在所述客戶端100的頁面上用戶可以同時進行其他操作,使用起來更方便。另外,在上傳文件後,如果用戶需要加密,則可以對文件使用DES加密算法進行加密。
[0020]如圖3所示,是本發明實施例提供的文件上傳方法的流程圖。該文件上傳方法包括以下步驟:
步驟SlO:在客戶端100的瀏覽器上顯示上傳頁面。具體地,該步驟用於向用戶提供顯示上傳文件的界面,用戶在頁面上進行上傳文件的操作。
[0021]步驟Sll:用於判斷所述客戶端100的瀏覽器上是否安裝有上傳插件。若所述客戶端100的瀏覽器上沒有安裝所述上傳插件,則進入步驟S12,若所述客戶端100的瀏覽器上已經安裝了所述上傳插件,則進入步驟S13。
[0022]步驟S12:安裝上傳插件,其中,安裝所述上傳插件的過程與安裝普通的軟體相同,僅需點擊下一步即可,安裝所述上傳插件後重啟所述客戶端100即可使用。
[0023]步驟S13:在所述上傳頁面上選擇需要上傳的文件,並將選擇的文件加入到上傳隊列中。其中,上傳隊列的大小並沒有限制,理論上可以是無限多個,但是實際會受到所述客戶端100的內存的限制。若想同時存在很多個上傳隊列,只需要保證所述客戶端100有足夠的內存空間即可。
[0024]步驟S14:從上傳隊列中獲取一個文件。
[0025]步驟S15:提取上傳文件的信息並輸出至所述伺服器300。具體在提取上傳文件的信息後可以計算出一個特定值,將所述特定值輸出至所述伺服器300,以使每個特定值對應一個上傳文件。本實施例中,所述特定值為是根據上傳文件的數據進行計算得到的標識所述上傳文件的唯一值,用所述特定值可以區別不同的上傳文件,所述特定值具體表示為shal值。其中,提取上傳文件信息以及計算特定值的過程均可以通過所述上傳插件來實現。如此,在安裝了上傳插件以後,所述客戶端100的瀏覽器就可以通過所述上傳插件來建立與所述伺服器300之間的連接,解決了客戶端100上的瀏覽器本身不支持上傳超過2G的大文件的問題。而且由於上傳插件可以在後臺運行,不會一直停留在當面的上傳頁面,因此,前臺的瀏覽器還可以做其他操作,給用戶的使用帶來很大的便利。
[0026]步驟S16:檢測獲取的文件是否已經在所述伺服器300中存在。在實際應用中,該步驟可以具體通過Php腳本來執行。具體地,所述伺服器300根據文件的信息即特定值在所述資料庫400中查詢是否有所述獲取的文件。若所述獲取的文件在所述伺服器300中存在,則進入步驟S17,若所述獲取的文件在所述伺服器300中不存在,則進入步驟S18。
[0027]步驟S17:提示用戶上傳完成,再繼續從上傳隊列中獲取下一個文件,直到將上傳隊列中不存在文件,則上傳完成。如此,對於已經存在於所述伺服器300中的文件則不會再重複上傳,而是直接提示用戶上傳完成,提高了上傳速率,達到極速上傳的效果,並且避免了所述伺服器300中出現冗餘的文件,節省了所述伺服器300的存儲空間。
[0028]步驟S18:上傳獲取的文件。上傳完成後,提示用戶上傳完成,並繼續從上傳隊列中獲取下一個文件,直到將上傳隊列中的文件全部上傳完成。本實施例中,在上傳文件的過程由於採用的是異步傳輸,所以瀏覽器不會出現超時提示,避免了由於上傳時間太久給用戶造成不便,即在所述客戶端100的頁面上用戶可以同時進行其他操作,使用起來更方便。另外,在上傳文件後,如果用戶需要加密,則可以對文件使用DES加密算法進行加密。
[0029]以上所揭露的僅為本發明實施例中的較佳實施例而已,當然不能以此來限定本發明之權利範圍,因此依本發明權利要求所作的等同變化,仍屬本發明所涵蓋的範圍。
【權利要求】
1.一種文件上傳方法,包括以下步驟: 在客戶端的瀏覽器上顯示上傳頁面; 判斷所述客戶端的瀏覽器上是否安裝有上傳插件; 若所述客戶端的瀏覽器上沒有安裝所述上傳插件,則安裝所述上傳插件; 若所述客戶端的瀏覽器上已經安裝了所述上傳插件,在所述上傳頁面上選擇需要上傳的文件,並將選擇的文件加入到上傳隊列中; 從上傳隊列中獲取一個文件;及 上傳獲取的文件。
2.如權利要求1所述的文件上傳方法,其特徵在於,在從上傳隊列中獲取一個文件之後包括以下步驟: 提取上傳文件的信息並輸出至伺服器; 檢測獲取的文件是否已經在所述伺服器中存在; 若所述獲取的文件在所述伺服器中存在,則提示用戶上傳完成; 若所述獲取的文件在所述伺服器中不存在,則上傳獲取的文件。
3.如權利要求2所述的文件上傳方法,其特徵在於,在提示用戶上傳完成後,繼續從上傳隊列中獲取下一個文件,直到將上傳隊列中的文件全部上傳完成。
4.如權利要求2所述的文件上傳方法,其特徵在於,提取上傳文件的信息後並根據該信息計算出一個特定值,將所述特定值輸出至所述伺服器,以使每個特定值對應一個上傳文件。
5.如權利要求4所述的文件上傳方法,其特徵在於,判斷所述獲取的文件在所述伺服器中存在的步驟包括: 根據所述特定值在一個資料庫中查詢是否有所述獲取的文件。
6.如權利要求4所述的文件上傳方法,其特徵在於,通過php腳本檢測所述獲取的文件是否已經在所述伺服器中存在。
7.如權利要求1所述的文件上傳方法,其特徵在於,在上傳文件的過程採用的是異步傳輸。
8.一種文件上傳系統,運行於客戶端及伺服器中,其包括: 顯示模塊,用於在客戶端的瀏覽器上顯示上傳頁面; 判斷模塊,用於判斷所述客戶端的瀏覽器上是否安裝有上傳插件,若所述客戶端的瀏覽器上沒有安裝所述上傳插件,則安裝所述上傳插件; 選擇模塊,若所述客戶端的瀏覽器上已經安裝了所述上傳插件,在所述上傳頁面上選擇需要上傳的文件,並將選擇的文件加入到上傳隊列中; 獲取模塊,用於從上傳隊列中獲取一個文件;及 上傳模塊,用於上傳獲取的文件。
9.如權利要求8所述的文件上傳系統,其特徵在於,該系統還包括: 輸出模塊,用於提取上傳文件的信息並輸出至伺服器; 檢測模塊,用於檢測由獲取的文件是否已經在所述伺服器中存在,若所述獲取的文件在所述伺服器中存在,則提示用戶上傳完成。
10.如權利要求9所述的文件上傳系統,其特徵在於,提取上傳文件的信息後可以計算出一個特定值,將所述 特定值輸出至所述伺服器,以使每個特定值對應一個上傳文件。
【文檔編號】H04L29/06GK103795809SQ201410074187
【公開日】2014年5月14日 申請日期:2014年3月3日 優先權日:2014年3月3日
【發明者】鄧子輝 申請人:深圳市華曦達科技股份有限公司