【问题标题】:how to store a canvas image to mysql and retrieve it using nodejs如何将画布图像存储到mysql并使用nodejs检索它
【发布时间】:2019-03-27 14:18:25
【问题描述】:

我有一个 div 并使用画布拍摄了该 div 的快照并将画布图像存储在变量 getcanvas 中,现在我想使用节点将该画布图像存储到 mysqldatabase

【问题讨论】:

  • 纯代码编写请求在 Stack Overflow 上是题外话——我们希望这里的问题与特定编程问题有关——但我们很乐意帮助您自己编写!告诉我们what you've tried,以及您遇到的问题。这也将有助于我们更好地回答您的问题。

标签: jquery html node.js


【解决方案1】:

两种方式

  • 将图像另存为 dataUrl(即字符串)。
 /* send */
 const dataUrl = canvas.toDataURL()
 // TODO: post dataUrl to server and save it to mysql

 /* get */
 // get dataUrl from server
 const img = document.createElement('img');
 // attach dataUrl to img.src to show it
 img.src = dataUrl
  • 将画布图像保存为真实图像
/* send */
const dataUrl = canvas.toDataURL()
const [memeStr, dataStr] = (dataUrl || '').split(',')
const mime = memeStr
  .split(',')[0]
  .split(':')[1]
  .split(';')[0]

const bstr = atob(dataStr)
const u8arr = new Uint8Array(bstr.length)

for (let i = 0; i < bstr.length; i++) {
  u8arr[i] = bstr.charCodeAt(i)
}

const imageFile = new Blob([u8arr], { type: mime })
// TODO: you got the image file (by default is a png file)
// send it to the server and store its path in mysql

/* get */
// get imagePath from server
const img = document.createElement('img');
// attach imagePath to img.src to show it
img.src = imagePath

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多