我想计算以base64编码的字符串形式接收的图像文件的大小,例如:
'data:image/png;base64,aBdiVBORw0fKGgoAAA...'
,以确保文件不大于特定大小,例如5MB。
如何在node.js中实现?
我见过类似的问题here,但在得到以下消息后无法在我的节点应用中应用答案:
SyntaxError: Unexpected token :
答案 0 :(得分:2)
实际上,没有太多内容。 如果您知道Base64映像的大小,则只需将其除以1.37。 由于Base64算法是线性的,因此结果也是。 有关更多信息,请参见here。
要计算您已经拥有的字符串大小,可以使用this solution:
function byteCount(s) {
return encodeURI(s).split(/%..|./).length - 1;
}
并将结果除以1.37。
答案 1 :(得分:1)
您需要删除数据...部分
const Item = props => (
<li>
<input type="checkbox" checked={props.done} onChange={props.event} />
<span>{props.name}</span>
</li>
)
class Foo extends React.Component {
state = {
items: [
{ id: 0, name: 'Item 1', done: false },
{ id: 1, name: 'Item 2', done: false },
{ id: 2, name: 'Item 3', done: false }
]
}
toggleDone = (e) => {
// ???
}
render() {
return(
<ul>
{this.state.items.map(item => (
<Item
key={items.id}
name={item.name}
done={item.done}
event={this.toggleDone} />
))}
</ul>
)
}
}