Skip to content

Commit 600578b

Browse files
fix: Cloud files throwing error on upload
1 parent c0188c8 commit 600578b

File tree

2 files changed

+224
-15
lines changed

2 files changed

+224
-15
lines changed

src/AjaxUploader.tsx

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,8 +170,28 @@ class AjaxUploader extends Component<UploadProps> {
170170
}
171171
}
172172

173-
uploadFiles = (files: File[]) => {
174-
const originFiles = [...files] as RcFile[];
173+
cacheFiles = async (files: File[]): Promise<RcFile[]> => {
174+
if (files?.length) {
175+
const filesArray = [...files];
176+
177+
const cachedFiles = await Promise.all(
178+
filesArray.map(async file => {
179+
const buffer = await file.arrayBuffer();
180+
return new File([buffer], file.name, {
181+
type: file.type,
182+
lastModified: file.lastModified,
183+
});
184+
}),
185+
);
186+
187+
return cachedFiles as RcFile[];
188+
}
189+
190+
return [];
191+
};
192+
193+
uploadFiles = async (files: File[]) => {
194+
const originFiles = await this.cacheFiles(files);
175195
const postFiles = originFiles.map((file: RcFile & { uid?: string }) => {
176196
// eslint-disable-next-line no-param-reassign
177197
file.uid = getUid();

0 commit comments

Comments
 (0)