Firestore 上传文件:不支持的字段值:自定义文件对象



我正在尝试在Firestore中上传文件,并且以下代码正常工作:

export const ticketEdit = values => {
return async (dispatch, getState, { getFirebase, getFirestore }) => {
const firestore = getFirestore();
// delete file
const file = values.file && values.file;
delete values.file;
try {
// uploadFile
if (file) await dispatch(ticketUploadFile(file, ticketId));
// notification
toastr.success(i18n.t("Success", i18n.t("The ticket is updated")));
} catch (e) {
console.log(e);
}
};
};

但是,如果我要把我正在删除文件的行放进去

// delete file
const file = values.file && values.file;
delete values.file; 

在像这样的 try catch 语句中:

export const ticketEdit = values => {
return async (dispatch, getState, { getFirebase, getFirestore }) => {
const firestore = getFirestore();
try {
// delete file
const file = values.file && values.file;
delete values.file;
if (file) await dispatch(ticketUploadFile(file, ticketId));
// notification
toastr.success(i18n.t("Success", i18n.t("The ticket is updated")));
} catch (e) {
console.log(e);
}
};
};

我收到错误

不支持的字段值:自定义文件对象。

我想知道为什么。谢谢!

问题不在于 try catch 语句,而在于我试图在删除文件之前更新值。

经验教训:在更新文档之前删除文件。

最新更新