0
var form = {              
            widgetReleaseId: req.body.widgetReleaseId,
            version: req.body.version,
            uploadDate: req.body.uploadDate,                
            myfiles : myfiles                       
  };

以下はnpmリクエストです。

    request.post(
            {
                url:target_url+'widget-releases/',
                formData:form
            }, function optionalCallback(err, httpResponse, body) {

                console.log('body'+body)
                if (err) {
                    console.log(err)
                }

                del(['uploads/'+req.session.loginuser+'**/*'], function (err, paths) {
                    console.log('Deleted files/folders:\n', paths.join('\n'));
                });
                res.redirect('/admin-ui/widget-release/add');   
            });

Api は、別の nodejs サーバーで「投稿」を公開しました。.multer を使用して作成されたはずのフォルダーからファイルを読み取っているときにエラーが発生します。req.body.widgetReleaseId は「未定義」であるため、ファイルをコピーするためのフォルダーを作成していません

router.post('/',multer({
dest: './public/api/downloads/',

changeDest: function(dest, req, res) {


    dest += req.body.widgetReleaseId;

    var stat = null;
    try {
        stat = fs.statSync(dest);
    } catch (err) {
        mkdirp.sync(dest);
    }
    if (stat && !stat.isDirectory()) {
        throw new Error('Directory cannot be created because an inode of a different type exists at "' + dest + '"');
    }
    return dest;
},
rename: function(fieldname, filename, req,res){
    return filename.replace(/\W+/g, '-');
},
onFileUploadStart: function (file, req, res) {
    console.log(file.fieldname + ' is starting ...')
},
onFileUploadComplete: function (file, req, res) {
    console.log(file.fieldname + ' uploaded to  ' + file.path)
}   ,
onError: function (error, next) {
    console.log(error)
    next(error)
}
}), function(req,res) {
 //code goes here..
     fs.readdir('./public/api/downloads/'+req.body.widgetReleaseId,function(err,files ){
....
});

本文パーサーの設定は正しく、ルーティングの前です。数日前に動作していましたが、nodejsサーバーにformDataでデータが入っていないため、エラー:ENOENTエラーが発生しました。どんな手掛かり?キャッシュを消去し、プロジェクトも更新しました。

4

0 に答える 0