gpt4 book ai didi

javascript - 如何在 Angular 中适当更改 ng2-file-uploader 的文件名

转载 作者:行者123 更新时间:2023-11-28 14:14:19 24 4
gpt4 key购买 nike

我想通过 ng2-file-uploader 更改图像的 Angular 名称,然后将其传递到 Node.js 中的 multer。

一切正常。我能够接收图像,并将其存储在服务器端的上传目录中。只是我不知道在哪里更改图像名称。我在 onCompleteItem 方法中尝试过,但没有任何结果。这是一些代码:

import {  FileUploader, FileSelectDirective } from 'ng2-file-upload/ng2-file-upload';

@Component({
selector: 'name',
templateUrl: './some.html',
styleUrls: [./some.css]
})
export class ComponentName {
public uploader: FileUploader = new FileUploader({ url: "myurl", itemAlias: 'myPhoto' });

ngOnInit(){
this.uploader.onAfterAddingFile = (file) => {};
this.uploader.onCompleteItem = (item: any, response: any, status: any, headers: any) => {
//create my name
item.file.name = "my name"
alert('File uploaded');
};
this.uploader.uploadAll();
}
}

我只想更改名称,以便可以将其与我拥有的其他输入值一起存储在数据库中。

最佳答案

这其实很简单。你差点就明白了,但你选择了错误的方法。您可以在 onAfterAddingFile 方法中更改文件名。下面我可以向您展示一些代码

import {  FileUploader, FileSelectDirective } from 'ng2-file-upload/ng2-file-upload';

@Component({
selector: 'name',
templateUrl: './some.html',
styleUrls: [./some.css]
})
export class ComponentName {
public uploader: FileUploader = new FileUploader({ url: "myurl", itemAlias: 'myPhoto' });

//new name string variable
newFileName : string;

ngOnInit(){
this.uploader.onAfterAddingFile = (file) => {
//create my name
file.file.name = "new name";
//save in variable
newFileName = file.file.name;
};
this.uploader.onCompleteItem = (item: any, response: any, status: any, headers: any) => {
alert('File uploaded');
};
this.uploader.uploadAll();
}
}

这样您就可以传递一个完整的新文件名,或者您可以使用 javascript 的字符串替换方法和正则表达式来替换文件名中的字符。希望这有帮助。

关于javascript - 如何在 Angular 中适当更改 ng2-file-uploader 的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58216864/

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