比方说图片上传,有file对象、blob对象和base64,如果是base64,怎么准确判断这个字符串是base64呢?如果不是图片是其他类型的呢?
2 回答
繁华开满天机
TA贡献1816条经验 获得超4个赞
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贡献1836条经验 获得超3个赞
首先表示抱歉,没有遇到过这个问题。
但如果要上传未知类型的数据的话可以,直接设置请求头类型为Content-Type:multipart/form-data
。
数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type:来表名文件类型
;content-disposition:用来说明字段的一些信息
;
由于有boundary隔离
,所以multipart/form-data
既可以上传文件,也可以上传键值对,它采用了键值对的方式,所以可以上传多个文件。
然后在由后台做处理(后台是可以拿到他的类型(字符串/其他文件))
添加回答
举报
0/150
提交
取消