nodejs如何直接存储html/js代码这种到mysql数据库?
发布于 8 年前 作者 fineday009 7131 次浏览 来自 问答

问题1: 如题, 比如我要创建一条新记录,sql大概是INSERT INTO tbl_name (title,content) VALUES(‘标题’,’<img src=‘xxx’><span>…‘); 这样的sql语句本身直接报语法错误,因为要插入的代码里充满了各种" ’ , 等字符

问题2: 我试着将把图片通过base64转码再传给服务端去存储,也改了相关服务端的max_xxx_size的参数,几百KB的图片是可以穿,一旦几MB浏览器直接挂了,这是什么情况?

开发新人,请大家回答的东西尽量通俗一些,感谢。

10 回复
  1. 转义,或者直接使用sequelize等等orm From Noder

2,不知道你是哪种方式传的,何不直接用表单form data From Noder

你把几mb的图base64转义后复制出来贴到文本里看看有多长就知道为啥会报错了

来自酷炫的 CNodeMD

图片单独出来上传到服务器,html中只放url。或者限制图片大小。mysql数所库中的存放字段要设为text.

mysql存储图片?为什么不存在文件服务器

@wssgcg1213

回复1:关于转义,node有类似Php的html_entity_decode() 函数这种编码函数吗?

回复2:因为在用一个富文本编辑器,所以想的把文字内容和图片内容一起编码后传给server处理。

大家有没有好用的适应移动端的富文本编辑器推荐吗? 功能方面和cnode这个回复的富文本编辑器类似就行,不用太多功能。

@zouzhenxing 试过html中存url,然后整体转码base64后存mysql,图片单独传到文件服务器,这是成功的。

Q: 想问一下只能base64转码吗?怎么原封不动的将html代码存在数据库? 有相关资料 link的话更好,感谢!

@fineday009

  1. escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent
  2. form-data是支持文本域.图片域一起传的呀
回到顶部