gpt4 book ai didi

javascript - 如何使用Webix Uploader组件上传文件并更改文件名?

转载 作者:太空宇宙 更新时间:2023-11-04 02:21:26 25 4
gpt4 key购买 nike

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

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() 之前更改名称?

最佳答案

文件名是只读的,无法更改 https://developer.mozilla.org/en-US/docs/Web/API/File

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

关于javascript - 如何使用Webix Uploader组件上传文件并更改文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33168137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com