圖片存儲(chǔ) - php mysql 儲(chǔ)存base64的圖片
問題描述
在html5 的canvas 中我使用了一個(gè)表情包制作的第三方控件,現(xiàn)在想要把制作完成的表情包上傳到mysql的數(shù)據(jù)庫里。無論是上傳到本地服務(wù)器然后再數(shù)據(jù)庫里存儲(chǔ)文件地址,或者是用blob形式,都可以。請(qǐng)各位大牛告訴我怎么做。我用canvas.todataurl 把圖片變成base64的編碼,然后用ajax 把編碼發(fā)到儲(chǔ)存的頁面,用 $_POST['image']獲得base64的編碼。我不想直接把base64的編碼輸入到數(shù)據(jù)庫里因?yàn)樘罅耍俏也恢涝趺礃佑胮hp 把圖片的BASE64編碼變成BLOB.能不能把編碼變成圖片然后直接上傳圖片到數(shù)據(jù)庫? 但是我記得file_get_content好像只能在本地用不能在服務(wù)器上用。以下是我目前獲得圖片的base64編碼代碼
$data = $_POST['image'];$data = str_replace(’data:image/png;base64,’, ’’, $data);$data = str_replace(’ ’,’+’,$data);
$data = base64_decode($data);
無論用什么方法只要能把base64編碼的圖片輸入數(shù)據(jù)庫就可以了
問題解答
回答1:文件一般都是存地址的吧,解碼保存為文件,數(shù)據(jù)庫存文件路徑不行嗎
回答2:一般都是先本地生成,直接存地址。
回答3:file_get_contents()可以用吧,我都是用這個(gè)的
回答4:一般來說會(huì)把文件上傳到七牛,拿到一個(gè)網(wǎng)絡(luò)路徑,保存該路徑到數(shù)據(jù)庫就好了
相關(guān)文章:
1. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題2. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.3. css - 定位為absolute的父元素中的子元素 如何設(shè)置在父元素的下面?4. javascript - angualr2中emit觸發(fā)一個(gè)方法然后怎么獲得這個(gè)promise的結(jié)果5. java - 請(qǐng)問在main方法中寫成對(duì)象名.屬性()并賦值,與直接參參數(shù)賦值輸錯(cuò)誤是什么原因?6. mysql里的大表用mycat做水平拆分,是不是要先手動(dòng)分好,再配置mycat7. java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統(tǒng)有創(chuàng)建日志文件,不寫入日志信息。8. javascript - 圖片鏈接請(qǐng)求一直是pending狀態(tài),導(dǎo)致頁面崩潰,怎么解決?9. python - beautifulsoup獲取網(wǎng)頁內(nèi)容的問題10. 怎么用css截取字符?
