我正在尝试在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);
}
};
};
我收到错误
不支持的字段值:自定义File对象。
,我想知道为什么。谢谢!
答案 0 :(得分:0)
问题不是try catch语句,而是我试图在删除文件之前更新值。
经验教训:在更新文档之前先删除文件。