因?yàn)橐鲆粋€(gè)給圖片加水印的效果,所以打算前端使用Canvas將水印圖片繪制到用戶選擇的圖片上,再將處理后的圖片傳給PHP的Apache服務(wù)器。結(jié)果可以保存成圖片,但是圖片的效果與預(yù)期不符合。前端在發(fā)送數(shù)據(jù)到服務(wù)器端之前,預(yù)覽那個(gè)Base64編碼的圖片是達(dá)到了預(yù)期的效果的。預(yù)期效果實(shí)際效果這個(gè)實(shí)際效果是我截圖的,原圖保存下來(lái)的可以在電腦上打開(kāi)預(yù)覽,但是在論壇的上傳圖片無(wú)法正常預(yù)覽前后端再分別保存出了圖片轉(zhuǎn)的Base64字符串。發(fā)現(xiàn)前端發(fā)送的字符串和后端接收的字符串是不同的。于是寫(xiě)了個(gè)函數(shù),打印出不同,主要集中在以下位置:str1---OkablOxV5i
str2---Okabl0XV5i
str1---kablOxV5iE
str2---kabl0XV5iE
str1---If3RqOxaDJ
str2---If3Rq0xaDJ
str1---JOI52Oxh1I
str2---JOI520xh1I
str1---OgJhUOxb91
str2---OgJhU0xb91
str1---SRA1yOx9KE
str2---SRA1y0x9KE
str1---xxwn3OxbaE
str2---xxwn30XbaE
str1---xwn3OxbaEs
str2---xwn30XbaEs
str1---O3irgOxSGL
str2---O3irg0XSGL
str1---3irgOxSGLE
str2---3irg0XSGLE
str1---LBs/SOxbuO
str2---LBs/S0xbuO
str1---5aW8POx/7v
str2---5aW8P0X/7v
str1---aW8POx/7vW
str2---aW8P0X/7vW
str1---hQpEoOxCQU
str2---hQpEo0XCQU
str1---QpEoOxCQUF
str2---QpEo0XCQUF
str1---mWMdHOxt9x
str2---mWMdH0xt9x
str1---Y+gAvOxajf
str2---Y+gAv0Xajf
str1---+gAvOxajfN
str2---+gAv0XajfN在有關(guān)于0和O,X和x的位置,前端上傳的字符串和后端接收的字符串產(chǎn)生了不同。。。在網(wǎng)上搜了下,得到的多是在發(fā)送Base64的時(shí)候的加號(hào)和空格的問(wèn)題。服務(wù)器端使用的PHP語(yǔ)言版本為v5.6上傳使用的jQuery的$.ajax()方法。沒(méi)google到相關(guān)的信息,所以來(lái)論壇向大家請(qǐng)教以下
使用Ajax傳遞Canvas轉(zhuǎn)化的Base64格式圖片出錯(cuò)。
狐的傳說(shuō)
2019-03-14 14:15:53