javascript - 无法使用 Node.js 中的请求模块传输大尺寸文件

标签 javascript php node.js node-request filestreams

在 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 文件较大,则无法正常工作。

我注意到的一件事是,如果文件大小很大,则 php 端的 if (!empty($_FILES)){} 会失败。所以我认为 PHP 方面没有问题。请建议我应该在那里修改什么?

最佳答案

问题出在 PHP 方面。 The default upload_max_filesize configuration value for PHP is 2MB 。您需要增加该值才能接受更大的文件上传。

关于javascript - 无法使用 Node.js 中的请求模块传输大尺寸文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42270783/

相关文章:

javascript - 从 js var 分配动态 div id

javascript - ember-konacha-rails isValid AssertionError

php - APC(备用 PHP 缓存)抛出大量 PHP 通知

PHP/FFMPEG - 为什么我的视频转换会导致空文件?

javascript - 同一个异步函数中的多个回调?

javascript - 如何将 React Router location prop 传递给组件?

javascript - 在 JavaScript 中查找多维 JSON 对象不同级别的重复值

php - 从一张表中选择超过 10,000 次

node.js - 带有 Gmail "From: address"的 Nodemailer 没有改变

node.js - 避免本地开发环境中存在多个node_modules