鍍金池/ 問(wèn)答/HTML5  PHP  HTML/ 利用canvas的toDataURL()生成base64類型的圖片數(shù)據(jù)太大。

利用canvas的toDataURL()生成base64類型的圖片數(shù)據(jù)太大。

利用canvas的toDataURL()生成base64類型的圖片數(shù)據(jù)太大,mysql數(shù)據(jù)庫(kù)里text字段類型根本保存不了,怎么辦。
怎么把base64類型變成一張png格式的圖片,然后保存在服務(wù)器指定文件夾里。

回答
編輯回答
久礙你
  1. 設(shè)置數(shù)據(jù)字段的類型為 LONGBLOG, 大小為4G
  2. base64_decode, 然后生成個(gè)文件名, 保存起來(lái)即可.
2017年10月1日 08:45
編輯回答
默念

先確定一下提交到后端的時(shí)候數(shù)據(jù)是否完整吧
php也有辦法把base64保存成圖片文件
mysql的類型可以考慮緩存MEDIUMTEXT和LONGTEXT

2018年8月23日 00:23
編輯回答
痞性

我覺(jué)得上傳場(chǎng)景一般是這樣:

  1. canvas處理(輸出可包含壓縮及預(yù)處理,比如去掉Exif信息及尺寸的規(guī)格化)
  2. canvas.toBlob輸出二進(jìn)制
  3. formData.append('file',blob,filename)打包,可以加入用戶信息給后端處理
  4. ajax發(fā)給后端。存儲(chǔ)建議用對(duì)象存儲(chǔ),方便管理另外也相對(duì)安全
2018年1月12日 02:28