0

Node.js プロジェクトでは、コンピューターからサーバーにファイルを転送する必要があります。ファイルサイズが小さい場合、つまり 2MB であれば送信できますが、このサイズを超えるとファイルを送信できません。次のように私のコードは次のとおりです。

var url1 = 'http://beta.xxxxx.com/Xbox/xxxx/index.php/info/xxxxx';
var csvenriched = APPDATApath+'/xxxx/users/'+userId+'/programs/'+programName+'/'+foldername+'/Data_'+tmpstmp+'.csv';

var req = request.post(url1, function (err, resp, body1) {  
    if (err) {
        console.log('REQUEST RESULTS:'+err+resp.statusCode+body1);
        res.send(err); return false;
    } else {
        res.send(body1); return false;
    }
});

var form = req.form();

form.append('file', fs.createReadStream(csvenriched));

データコードを送信しているPHP側は次のとおりです。

public function actionSavetestvideo() {
    if (!empty($_FILES)) {
        $path = Yii::$app->basePath.'/testfiles/'.$_FILES['file']['name'];
        if (move_uploaded_file($_FILES['file']['tmp_name'], $path)) {
            return 'uploaded';
        } else {
            return 'error'.$_FILES["file"]["error"];
        }
    } else {
        return $_FILES;
    }
}

Node.jsサーバーにファイルをアップロードする必要がある場合、インターネット上に回答があることは知っていますが、私の場合、requestモジュールを使用してNode.jsからPHPサーバーにファイルを転送する必要があります。

ファイルサイズが小さい場合は問題なく動作しますが、CSV ファイルサイズが大きい場合は問題ありません。

ファイルサイズが大きい場合if (!empty($_FILES)){}、php側で失敗したことに気付きました。したがって、PHP 側に問題はないと思います。そこで何を修正すればよいか教えてください。

4

2 に答える 2