dongyan7876 2018-07-13 08:40
浏览 312
已采纳

在nodejs中进行Base64编码并在php中进行解码是不同的?

I want to post en file from NodeJs to PHP server.

To do this :

0 - I read a file (a Power Point file)

1 - I encode the file-content in base64

2 - I post the file to the PHP

3 - I decode the file content

4 - I save the file

But when I open the file after the step 4, the file is broken. Anyone say why the decode isn't working ?

nodejs code :

fs.readFile(FilePath, 'utf8', function(err, data) {
                if (err) throw err;
                request.post(
                    callback_url,
                    { json: {
                        'document_id': id,
                        'document': Buffer.from(data).toString('base64'),
                        'content_type': mime.getType(resultFilePath + resultFile)
                    } },
                    function (error:any, response:any, body:any) {
                        console.log(body);
                    }
                );
            });

PHP code :

// set the POST content in $document
$document = base64_decode($document);
file_put_contents($fileName, $document);

Edit : The error was the encoding when I read the file ... replace

fs.readFile(FilePath, 'utf8', function(err, data) {

to

fs.readFile(FilePath, function(err, data) {
  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥20 苹果app名字侵权商标,我投诉了,但是苹果一直没回怎么办
      • ¥15 Android studio运行不成功总是报错
      • ¥15 pycharm 加载软件包列表时出错connect timed out
      • ¥15 和您碰到了同一个问题
      • ¥15 如何在微信支付V3PHP版请求中添加header?
      • ¥15 在数字信号处理中用MATLAB显示波形。
      • ¥15 keil MDK软件进行仿真调试的局限
      • ¥15 关于gateway产生临时文件夹的问题
      • ¥15 Java Broken Pipe以及OOM
      • ¥20 请问有没有RTL8211FS的参考原理图