眼眸繁星
2019-03-18 22:04:31
比方說(shuō)圖片上傳,有file對(duì)象、blob對(duì)象和base64,如果是base64,怎么準(zhǔn)確判斷這個(gè)字符串是base64呢?如果不是圖片是其他類(lèi)型的呢?
2 回答

繁華開(kāi)滿天機(jī)
TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊
function isBase64(str) { if (str ==='' || str.trim() ===''){ return false; } try { return btoa(atob(str)) == str; } catch (err) { return false; } }
or
const notBase64 = /[^A-Z0-9+\/=]/i; export default function isBase64(str) { assertString(str); // remove this line and make sure you pass in a string const len = str.length; if (!len || len % 4 !== 0 || notBase64.test(str)) { return false; } const firstPaddingChar = str.indexOf('='); return firstPaddingChar === -1 || firstPaddingChar === len - 1 || (firstPaddingChar === len - 2 && str[len - 1] === '='); }
試試看呢

米脂
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊
首先表示抱歉,沒(méi)有遇到過(guò)這個(gè)問(wèn)題。
但如果要上傳未知類(lèi)型的數(shù)據(jù)的話可以,直接設(shè)置請(qǐng)求頭類(lèi)型為Content-Type:multipart/form-data
。
數(shù)據(jù)處理為一條消息,以標(biāo)簽為單元,用分隔符分開(kāi)。既可以上傳鍵值對(duì),也可以上傳文件。當(dāng)上傳的字段是文件時(shí),會(huì)有Content-Type:來(lái)表名文件類(lèi)型
;content-disposition:用來(lái)說(shuō)明字段的一些信息
;
由于有boundary隔離
,所以multipart/form-data
既可以上傳文件,也可以上傳鍵值對(duì),它采用了鍵值對(duì)的方式,所以可以上傳多個(gè)文件。
然后在由后臺(tái)做處理(后臺(tái)是可以拿到他的類(lèi)型(字符串/其他文件))
添加回答
舉報(bào)
0/150
提交
取消