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

比方说图片上传,有file对象、blob对象和base64,如果是base64,怎么准确判断这个字符串是base64呢?如果不是图片是其他类型的呢?

眼眸繁星
浏览 3350回答 2
2回答

繁华开满天机

function isBase64(str) {    if (str ==='' || str.trim() ===''){ return false; }    try {        return btoa(atob(str)) == str;     } catch (err) {        return false;     } }orconst 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] === '='); }试试看呢

米脂

首先表示抱歉,没有遇到过这个问题。但如果要上传未知类型的数据的话可以,直接设置请求头类型为Content-Type:multipart/form-data。数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type:来表名文件类型;content-disposition:用来说明字段的一些信息;由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对,它采用了键值对的方式,所以可以上传多个文件。然后在由后台做处理(后台是可以拿到他的类型(字符串/其他文件))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript