摘 要:在電子商務中,圖片得到了廣泛應用,圖片的上傳和顯示涉及很多細節上的技術問題。本文嘗試從多個方面分析該類問題并提出一些解決方案。
關鍵詞:圖片上傳;顯示;電子商務
電子商務是近二十年來發展最為迅猛的一個產業。電子商務網站的建設是電子商務涉及的一個重要組成部分。在電子商務網站的建設過程中,經常需要上傳一些圖片,并將上傳的圖片顯示在各種不同的電子媒體上。本文列舉了圖片在上傳和顯示過程中存在的若干問題,并給出有效的解決措施。
一、圖片上傳及顯示存在的問題與解決方法
1. 將圖片從客戶端上傳到服務器
圖片從客戶端上傳到服務器的方式有兩種:(1)使用成熟的組件。一般情況下通過選擇本地圖片文件,然后選擇后臺服務上傳或直接上傳。這種方式編寫的代碼很少,但是文件的存儲方式、顯示方式都有可能受到很大的限制。(2)使用流的方式。這種方式編寫的代碼相對較多,但存儲更靈活。可以選擇本地圖片文件讀取,使用輸入流將其讀入內存,接著使用輸出流傳給服務器的后臺服務。后臺服務獲得網絡輸入流讀入內存后,使用輸出流以合適的方式存儲下來。
2. 將圖片文件存儲到服務器
圖片文件存儲需要考慮兩個方面的問題:一是存儲到哪兒,二是是否使用壓縮。圖片文件可以存儲到數據庫,也可以單獨以文件的形式存儲。存儲在數據庫中,如果文件太大,一條記錄一般只能存儲一張圖片,傳輸多張圖片一般需要多條記錄。以單獨的文件存儲時,文件存儲的位置、文件名及文件存儲的類型還需要保存到數據庫中。為了減少圖片文件的存儲空間,可以采用適當的壓縮技術。需要說明的是,圖片壓縮的效果一般不太明顯。
3. 圖片上傳后實現頁面的局部更新
圖片上傳后需要顯示在媒體的界面上。如果更新整個界面會帶來兩個問題:一是界面的其他數據有可能會被破壞,二是整個界面的更新需要傳輸更多的數據。所以,圖片上傳后應該實現頁面的局部更新。解決頁面的局部更新問題有很多種方法,一種方法是將圖片放在框架中,更新頁面時只更新該框架。另一種方法則是使用AJAX技術實現頁面的局部更新。相對于前一種方法,使用AJAX技術代碼更簡單,效率更高。
4. 圖片上傳后實現更新和刪除
圖片上傳后的更新和刪除同數據庫中記錄的更新和刪除有相似之處,但又完全不同。刪除圖片不僅包括刪除記錄中圖片的文件存儲路徑和文件名,還要刪除實際的圖片文件。圖片的更新包括三個階段:第一個階段為舊圖片文件的刪除,第二個階段為新圖片文件的存儲,第三個階段為文件存儲路徑及文件名的更新。
5. 圖片上傳過程中及顯示時系統性能的提高
圖片的上傳和顯示都耗用一定的網絡流量。系統性能的提高可以從兩方面來考慮:(1)減少網絡流量;(2)采用多線程技術。圖片上傳時可以考慮先壓縮再上傳以減少網絡流量。顯示時減少網絡流量可以在數據庫中存儲每個圖片的最新更新時間。圖片下載一次后可以保存在客戶端本地。顯示圖片時,對比客戶端的最新更新時間與服務器的最新更新時間,如果相同,則加載客戶端本地;如果不同,則從服務器下載更新本地客戶端。在手機App中顯示圖片,可以考慮將圖片打包到App當中,這樣顯示圖片基本為零流量。
6. 圖片處理涉及的問題
(1)在實現上傳文件的功能時,需要限制上傳文件的大小。(2)圖片上傳限制圖片尺寸。上傳圖片的尺寸與實際顯示的尺寸應盡量相同,或等比例縮放。(3)圖片上傳時限制圖片上傳的數量。(4)圖片上傳時限制文件的格式。
二、結語
在電子商務網站的建設過程中,圖片的上傳和顯示在軟件設計中是一項基本功能。在編程過程中,顯示圖片看上去比較簡單,但涉及很多方面的細節,如果考慮不充分,會帶來一系列的問題。例如,上傳圖片后,由于更新圖片而將其他內容更新;圖片更新和刪除不徹底導致服務器保存很多淘汰的圖片;圖片多次下載導致頁面顯示遲緩等。
參考文獻:
[1]軟件開發技術聯盟.JavaWeb開發實例大全[M].北京:清華大學出版社,2016.
[2]王浩.企業網絡營銷實戰寶典及決勝攻略:策略、方法、技巧、實踐與案例[M].北京:北京時代華文出版社,2015.
作者簡介:任彥東(1974— ),男,江蘇淮安人,本科,講師,研究方向:信息技術。