doumi4676 2016-03-31 03:50
浏览 27

处理通过php发送的nodejs缓冲区

I'm trying to sent large files using nodeJS as client to a php server. I'm having issues on the php's server sides. The file get corrupted on the server.

This the nodeJS client :

var req = require('request');
var fs = require('fs');
var path = require ('path');
var filename ='datas/test.mp4';
var readable  = fs.createReadStream(filename);
var chunk;
var i=1;
readable.on('readable', () => {
while (null !== (chunk = readable.read(1048576))) {
console.log(chunk);      
var formData = {
    my_buffer: chunk,
    index : i,
    filename:path.basename(filename),
};

req.post({url:'http://localhost/server.php',formData:formData,headers:  headers},(err,response, body)=>{
    if (err){
        console.log(" an error occured " + err);
    }
});
i = i+1;

} });

The Server (server.php) :

file_put_contents ($_POST['filename'],$_POST['my_buffer'],FILE_APPEND);

Somehow, the file get corrupted once on the server. Can't understand why. Any help ?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 Qt下使用tcp获取数据的详细操作
    • ¥15 idea右下角设置编码是灰色的
    • ¥15 全志H618ROM新增分区
    • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
    • ¥15 NAO机器人的录音程序保存问题
    • ¥15 C#读写EXCEL文件,不同编译
    • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
    • ¥15 扩散模型sd.webui使用时报错“Nonetype”
    • ¥15 stm32流水灯+呼吸灯+外部中断按键
    • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符