RNFS.uploadFiles 仅适用于原始上传不适用于 multipart/form-data

RNFS.uploadFiles only works for raw uploads not for multipart/form-data

我正在尝试将 JSON 文件上传到 nodejs 服务器,该服务器使用 multer 作为接收文件的中间件,RNFS.uploadFiles 仅适用于原始 Multer,不适用于 multer有一个特定的字段例如(upload.single('files')

var file = [
                {
                    name: newpath,
                    filename: newpath,
                    filepath: newpath,
                    filetype: 'json'
                }
            ];


            var uploadBegin = (response) => {
                var jobId = response.jobId;
                console.log('UPLOAD HAS BEGUN! JobId: ' + jobId);
            };

            var uploadProgress = (response) => {
                var percentage = Math.floor((response.totalBytesSent / response.totalBytesExpectedToSend) * 100);
                console.log('UPLOAD IS ' + percentage + '% DONE!');
            };

            RNFS.uploadFiles({
                toUrl: uploadUrl,
                files: file,
                method: 'POST',
                headers: {
                    'Accept': 'application/json',
                },

                begin: uploadBegin,
                progress: uploadProgress
            }).promise.then((response) => {
                if (response.statusCode == 200) {
                    console.log('FILES UPLOADED!'); 
                } else {
                    console.log('SERVER ERROR');
                }
            })
                .catch((err) => {
                    if (err.description === "cancelled") {
                        // cancelled by user
                    }
                    console.log(err);
                });

            // }
        })
        .catch((err) => {
            console.log(err.message);
        });

多码

var upload = multer({
storage: storage,// fileFilter: fileFilter
});

router.post('/GetFiles', upload.single('files'), function (req, res) {


if (req.file) {
    res.send({ "Status": true, "Msg": "File Uploaded Successfully" });      
}
else {      
    res.send({ "Status": false, "Msg": "Failed to upload the File", "body": req.body });
}

})

并给出错误

Error: ENOENT: no such file or directory, open 'http://192.168.1.15:3333/SurveyJsonFiles/GetFiles/' at createErrorFromErrorData (NativeModules.js:155) at NativeModules.js:104 at MessageQueue.__invokeCallback (MessageQueue.js:414) at MessageQueue.js:127 at MessageQueue.__guard (MessageQueue.js:314) at MessageQueue.invokeCallbackAndReturnFlushedQueue (MessageQueue.js:126) at debuggerWorker.js:80

我变了

 var file = [
            {
                name: newpath,
                filename: newpath,
                filepath: newpath,
                filetype: 'json'
            }
        ];

进入

 var file = [
            {
                name: 'files',
                filename: newpath,
                filepath: newpath,
                filetype: 'json'
            }
        ];

它解决了这个问题。