1

オプションを通過させようとしていますが、サーバー側でそれらを処理する方法がわかりません。ファイルは問題なく読み込まれます。私はフォームを作成しました:

webix.ui({
    view: "form",
    borderless: true,
    elements: [
        {view: "text", label: 'User', name: "user",invalidMessage:"User can not be empty"},
        {view: "text", label: 'Name', name: "name",invalidMessage:"Name can not be empty"},
        {view: "text", label: 'Email', name: "email",invalidMessage:"Incorrect e-mail address"},
        {view: "text", label: 'Key', name: "key",invalidMessage:"Key can not be empty"},
        {
            view:"uploader",
            id: "fileUploader",
            value:"Upload key",
            autosend:false,
            upload:"api/upload"
        },
        {
            view: "button", value: "Submit", click: function () {
            var form = this.getParentView();
                if (form.validate()){

                    var values = this.getParentView().getValues();

                    $$('fileUploader').send(function(res){

                    },{
                        fileName:values.user
                    });
                }
            }
        }
    ],
    rules:{
        "user": webix.rules.isNotEmpty,
        "name": webix.rules.isNotEmpty,
        "email": webix.rules.isEmail,
        "key": webix.rules.isNotEmpty
    },
    elementsConfig: {
        labelPosition: "top"
    }
});

サーバーnode.jsを使用しています

app.post('/api/upload/', function(req,res) {

    fs.readFile(req.file.path, function (err, data) {
        var newPath = __dirname + "/uploads/"+req.file.originalname;
        fs.writeFile(newPath, data, function (err) {
            res.send("ok");
            fs.unlink( __dirname + "/uploads/"+req.file.filename);

        });
    });
}
);

または、send() の前に名前を変更するオプションはありますか?

4

2 に答える 2

0

ファイル名は読み取り専用で変更できません https://developer.mozilla.org/en-US/docs/Web/API/File

ただし、fs.readFile、fs.writeFile、fs.unlink の代わりに、fs.rename を使用しないでください。アップロードされたファイルを正しい名前と場所に移動する単一のコマンド。

于 2015-10-16T14:47:03.393 に答える