为了账号安全,请及时绑定邮箱和手机立即绑定

js如何判断一个字符串是否是base64字符串?

js如何判断一个字符串是否是base64字符串?

眼眸繁星 2019-03-18 22:04:31
比方说图片上传,有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] === '=');
}

试试看呢


查看完整回答
反对 回复 2019-03-18
?
米脂

TA贡献1836条经验 获得超3个赞

首先表示抱歉,没有遇到过这个问题。
但如果要上传未知类型的数据的话可以,直接设置请求头类型为Content-Type:multipart/form-data
数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type:来表名文件类型content-disposition:用来说明字段的一些信息

由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对,它采用了键值对的方式,所以可以上传多个文件。
然后在由后台做处理(后台是可以拿到他的类型(字符串/其他文件))


查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 3349 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信