axios 如何在React中对输入进行base64编码?

pcww981p  于 12个月前  发布在  iOS
关注(0)|答案(3)|浏览(118)

我试图发布两个输入与axios和我想base64编码他们之前,我送他们。

j8ag8udp

j8ag8udp1#

自v6以来已弃用

const encodedString = new Buffer('your string here').toString('base64');

改为

const encodedString = Buffer.from('your string here').toString('base64');
如果你得到这个错误Uncaught ReferenceError: Buffer is not defined
你可以在你的项目中添加buffer的依赖项
npm install --save buffer
更新您的webpack.config.js

const webpack = require("webpack");

module.exports = {
    plugins: [
        // add this line to plugins
        new webpack.ProvidePlugin({
            Buffer: ['buffer', 'Buffer'],
        }),
    ],
    resolve: {
        fallback: {
            // add this line to resolve.fallback
            "buffer": require.resolve("buffer")
        }
    },
}
rnmwe5a2

rnmwe5a22#

考虑使用base-64,它与btoaatob兼容,在react和react native中对我有效:

npm install base-64 --save
import {decode as base64_decode, encode as base64_encode} from 'base-64';
let encoded = base64_encode('YOUR_DECODED_STRING');
let decoded = base64_decode('YOUR_ENCODED_STRING');

如果您使用的是typescript,请使用@types/base-64进行键入

npm i --save-dev @types/base-64
hc8w905p

hc8w905p3#

最好使用Buffer.from('Your String').toString('base64'),因为new Buffer已被弃用

相关问题