Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用组件Webix Uploader上载文件,更改其名称?_Javascript_Node.js_File Upload_Webix - Fatal编程技术网

Javascript 如何使用组件Webix Uploader上载文件,更改其名称?

Javascript 如何使用组件Webix Uploader上载文件,更改其名称?,javascript,node.js,file-upload,webix,Javascript,Node.js,File Upload,Webix,我正在尝试传递这些选项,但不知道如何在服务器端处理它们。文件加载时没有问题。 我创建了一个表单: webix.ui({ view: "form", borderless: true, elements: [ {view: "text", label: 'User', name: "user",invalidMessage:"User can not be empty"}, {view: "text", label: 'Name', name

我正在尝试传递这些选项,但不知道如何在服务器端处理它们。文件加载时没有问题。 我创建了一个表单:

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"
    }
});
我正在使用server 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);

        });
    });
}
);

或者在发送()之前是否有任何选项可以更改名称

文件名为只读,无法更改


您的服务器端代码可以优化,而不是fs.readFile、fs.writeFile、fs.unlink为什么不使用fs.rename呢。将上载的文件移动到正确名称和位置的单个命令

文件名为只读,无法更改


您的服务器端代码可以优化,而不是fs.readFile、fs.writeFile、fs.unlink为什么不使用fs.rename呢。将上载的文件移动到正确名称和位置的单个命令

我试图在发送文件之前更改名称,但无法更改

因此:


JS文件必须保存在保存文档的文件夹中

我试图在发送文件之前更改名称,但无法更改

因此:

JS文件必须保存在保存文档的文件夹中

function renameFile(req, res)
{
    var name = post.name;
    var type = post.type
    fs.rename(__dirname+'/'+name, __dirname+'/'+createStringDate(name), function(err) {
        if ( err ) 
        {
            console.log("!!!***LOG_:renameFile-Error(500): ".red+err);
            res.status(500).json(err);
        }
        else
        {
            console.log("***LOG_:renameFile-Respuesta(200): Archivo renombrado.".magenta);
            res.status(200).json("Estatus:Ok");
        }
    });
};
function createStringDate()
{
  //create string date
  return "yyyymmdd"
}