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

在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) {

图片转代码服务由CSDN问答提供 功能建议

我想将Node文件中的en文件发布到PHP服务器。</ p>

To 执行此操作:</ p>

0 - 我读取文件(Power Point文件)</ p>

1 - 我对base64中的文件内容进行编码</ p >

2 - 我将文件发布到PHP </ p>

3 - 我解码文件内容</ p>

4 - 我保存 文件</ p>

但是当我在步骤4之后打开文件时,文件被破坏了。 有人说为什么解码不起作用?</ p>

nodejs代码:</ p>

  fs.readFile(FilePath,'utf8',function( 错误,数据){
 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(错误:any,response:any,body:any){
 console.log(  body); 
} 
); 
}); 
 </ code> </ pre> 
 
 

PHP代码:</ p>

  /  /设置$ document 
 $ document = base64_decode($ document); 
file_put_contents($ fileName,$ document); 
 </ code> </ pre> 
 
 

编辑POST内容 :</ strong> 错误是我读取文件时的编码... replace </ p>

  fs.readFile(FilePath,'utf8',funct 离子(错误,数据){
 </ code> </ pre> 
 
 

</ p>

  fs.readFile(FilePath,function(err,data)  ){
 </ code> </ pre> 
 </ div>

1条回答 默认 最新

相关推荐 更多相似问题