Javascript 在onFileSelected中添加的属性在onFileUploadFinished中无法通过
我正在使用FileStack在我的React应用程序中将文件上传到云。根据文档,我使用Javascript 在onFileSelected中添加的属性在onFileUploadFinished中无法通过,javascript,reactjs,filestack,Javascript,Reactjs,Filestack,我正在使用FileStack在我的React应用程序中将文件上传到云。根据文档,我使用onFileSelected和onFileUploadFinished回调方法在文件上载前后进行一些处理 同样,根据文档,我还向文件对象添加了一些属性,但是我添加的属性似乎无法通过并显示在我的onFileUploadFinished方法中。你知道这是什么原因吗 具体地说,我将名称、宽度和高度属性添加到文件对象中,如下面的代码所示 这就是我设置回调方法的方式,这些方法似乎工作得很好,因为我确实找到了我的调试器点
onFileSelected
和onFileUploadFinished
回调方法在文件上载前后进行一些处理
同样,根据文档,我还向文件
对象添加了一些属性,但是我添加的属性似乎无法通过并显示在我的onFileUploadFinished
方法中。你知道这是什么原因吗
具体地说,我将名称
、宽度
和高度
属性添加到文件
对象中,如下面的代码所示
这就是我设置回调方法的方式,这些方法似乎工作得很好,因为我确实找到了我的调试器
点
const options = {
onFileSelected: this.handleFileSelected,
onFileUploadFinished: this.handleFileUploaded
};
fsClient.picker(options).open();
当用户选择文件时,这是我的方法:
handleFileSelected(file) {
const name = getGuid() + "___" + file.fileName;
if(file.mimetype === "image/jpeg" || file.mimetype === "image/png") {
const img = new Image();
img.src = URL.createObjectURL(file.originalFile);
img.onload = function () {
return {...file, name: name, width: this.naturalWidth, height: this.naturalHeight};
}
} else {
return {...file, name: name};
}
}
上传完成后,我将此方法称为:
handleFileUploaded(file) {
// When I inspect the file object here, I do NOT see the name, width or heigth properties even though the uploaded file is a JPG
}
需要注意的是,文件上传工作正常,我正在使用所有回调函数。因此,问题似乎是对象正在handleFileSelected
和handleFileUploaded
之间处理,我添加的属性正在消失
知道是什么导致了这个问题吗
另外,我正在我的React应用程序中使用以下filestack
npm包:
"filestack-js": "^3.18.0"
此外,这里还有一些文档链接: