我的uploadPhoto功能有问题。问题是我有一个像库一样的通用组件,因为我在这个项目中使用了angular4。我在裁剪文件中使用了ng2-cropper-img。当我处理Croppep-img组件中的代码时,我想使用FileList将数据传递给通用组件。 这是我在cropper组件中的代码:
const base64ToInputFile = this.Base64toInputFile(this.data1.image.split(',')[1]);
const imageFile = new File([base64ToInputFile],this.imgLink[0].name,{type: 'image/jpeg'});
this.activeModal.close(imageFile)
现在我要传输数据到带有FileList的上载组件,因为当我将数据作为文件类型传输时,它不起作用。这是我在上载组件上的代码
fileChange(files) {
if (this.cropImage && !this.multiple) {
// this.fileChangeUpload(files)
let modalRef = this.modalService.open(CropImageComponent)
modalRef.componentInstance.imgLink = files;
modalRef.result.then(data => {
if (data) {
this.fileChangeUpload(data)
}
})
} else {
this.fileChangeUpload(files)
}
}
当我捕获事件文件时,参数是FileList,而我找不到像broswer这样的将文件添加到FileList的方法。如果有人给我一个解决方案,我很高兴,tks
答案 0 :(得分:0)
好吧,我只是提出了一个解决方案,当我将数据传递给裁纸器组件时,我会收到这样的数据
fileChange(files) {
if (this.cropImage) {
// this.fileChangeUpload(files)
let modalRef = this.modalService.open(CropImageComponent, {backdrop: 'static'})
modalRef.componentInstance.imgLink = files[0];
modalRef.result.then(file => {
if (file) {
this.fileChangeUpload([file])
}
})
} else {
this.fileChangeUpload(files)
}
}