怎么把圖片轉(zhuǎn)化為字節(jié)流存起來,不用擔心文件存儲圖片占用空間的問題
我看大家好像都沒有好好回答這個問題,我曾經(jīng)作為初學(xué)者的時候也有這個疑惑,我來做一下回答。
首先,數(shù)據(jù)庫千萬別存圖片,數(shù)據(jù)庫存儲數(shù)據(jù)的字段設(shè)置得太大的話,數(shù)據(jù)庫數(shù)據(jù)查詢會非常慢。
另外,圖片數(shù)據(jù),你可以直接用PHP的file_get_contents
就能獲取到圖片信息了,但是你要把圖片放回去就需要用到file_put_contents
,另外放回去的話你肯定要命名一下圖片名稱,你在取圖片的時候還要存一大堆圖片相關(guān)信息,我覺得的話,沒必要這么操作。
當然對于圖片也有base64_encode
進行base64轉(zhuǎn)換,實際上我可以告訴你,進行轉(zhuǎn)換后圖片存儲空間將會更大。
說了以上幾點,我來說一下我們通常是基于什么樣的考慮來存儲圖片的,通常我們會把圖片上傳到一個路徑,比如/var/www/statics/test.jpg
,我這里展示的是絕對路徑,通常來說我們用的是相對路徑或者是把圖片上傳到云服務(wù)器上,如果圖片上傳到的是云服務(wù)器上的話可能得到的圖片就是https://img.segmentfault.com/1.jpg
這樣的形式。
也就是說,我們數(shù)據(jù)庫存的是圖片的路徑,不管是網(wǎng)絡(luò)路徑還是絕對路徑還是相對路徑,只要我們從書庫把圖片路徑取出來并且能根據(jù)圖片存儲的路徑找到圖片就可以了,而且路徑數(shù)據(jù)本身就很小,通過路徑取到原圖片,根本不需要做過多考慮,所以沒人會把圖片數(shù)據(jù)轉(zhuǎn)換成字節(jié)存到數(shù)據(jù)庫的。
另外我也看到你說不用考慮圖片占用空間過大的問題,但是我可以在這里明確告訴你,我們寫程序一方面考慮便捷性,快速實現(xiàn)某種功能,同時我們還要考慮性能問題,我們做程序的最終目的是服務(wù)用戶的,不管這個用戶是我們自己還是能給我們帶來收益的真實用戶。所以來說,程序能實現(xiàn)了之后,還要考慮一個問題就是性能問題。
所以,我們通常來說,希望數(shù)據(jù)庫中存儲的數(shù)據(jù)越小越好。
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團,成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務(wù)負責iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。