Javascript ng2文件上传单次上传覆盖文件上传
我在本教程的基础上进行演示:。我想单文件上传,但没有删除文件按钮。通过添加文件A,之后我添加文件B。文件A将替换为文件B。这是我的上载程序:Javascript ng2文件上传单次上传覆盖文件上传,javascript,angular,file-upload,ng2-file-upload,Javascript,Angular,File Upload,Ng2 File Upload,我在本教程的基础上进行演示:。我想单文件上传,但没有删除文件按钮。通过添加文件A,之后我添加文件B。文件A将替换为文件B。这是我的上载程序: this.uploader = new FileUploader( { url: this.baseURL, allowedFileType: ["xls"], maxFileSize: 5, queueLimit: 1 }); 请告诉我也许您可以使用库提供的函数的
this.uploader = new FileUploader(
{
url: this.baseURL,
allowedFileType: ["xls"],
maxFileSize: 5,
queueLimit: 1
});
请告诉我也许您可以使用库提供的函数的
onAfterAddingFile
回调。下面是示例代码。这总是用最新文件覆盖旧文件,队列将始终包含一个最新文件项
ngOnInit() {
this.uploader.onAfterAddingFile = (fileItem: FileItem) => this.onAfterAddingFile(fileItem)
}
onAfterAddingFile(fileItem: FileItem) {
let latestFile = this.uploader.queue[this.uploader.queue.length-1]
this.uploader.queue = [];
this.uploader.queue.push(latestFile);
}
正如Arun Muthiyarkath所建议的,您可以在AfterAddingFile上使用
,但较短的代码是:
ngOnInit() {
this.uploader.onAfterAddingFile = (fileItem: FileItem) => {
if (this.uploader.queue.length > 1) {
this.uploader.removeFromQueue(this.uploader.queue[0]);
}
};
}
来源:请不要将代码本身作为答案发布。试着添加更多的上下文来解释为什么这会解决最初发布的问题。
this.uploader.onAfterAddingFile = (fileItem: FileItem) => {
if (this.uploader.queue.length > 0) {
this.uploader.queue = [fileItem];
}
};