我有一个用打字稿写的快递服务器。
作为atob()
或btoa()
在浏览器上工作,在 Nodejs 上。
我们一般使用
Buffer.from("some-string").toString('base64')
将字符串编码为base64。
但是,当我在 TypeScript 中编写代码时,这似乎不起作用。我需要一些帮助。
我有一个用打字稿写的快递服务器。
作为atob()
或btoa()
在浏览器上工作,在 Nodejs 上。
我们一般使用
Buffer.from("some-string").toString('base64')
将字符串编码为base64。
但是,当我在 TypeScript 中编写代码时,这似乎不起作用。我需要一些帮助。
在节点打字稿中:
const b64 = "SGVsbG8sIFdvcmxkIQ==";
const str = 'Hello, World!'
const decode = (str: string):string => Buffer.from(str, 'base64').toString('binary');
const encode = (str: string):string => Buffer.from(str, 'binary').toString('base64');
test('base64 decode', () => {
expect(decode(b64)).toEqual(str)
});
test('base64 decode', () => {
expect(encode(str)).toEqual(b64)
});
test('base64 encode/decode', () => {
expect(decode(encode(str))).toEqual(str)
});
如果你window.btoa(fileData)
在前端使用过。
注意:在zerkms的反馈和阅读包代码之后,您似乎可以手动完成。但是我不得不运行它两次才能工作。
我也试图解码一个大图像。
然后在nodejs服务器上就可以直接使用Buffer了:
const b64 = "SGVsbG8sIFdvcmxkIQ==";
const fileDataProcessed = Buffer.from(b64, 'base64').toString('binary')
const decodedData = Buffer(fileDataProcessed, 'base64')
// This is the code that you can now upload to your s3 bucket, or somewhere else.
console.log(decodedData);