From bb83face082fe26286a71d634fb709027d8c9c93 Mon Sep 17 00:00:00 2001 From: Zeke Zhang <958414905@qq.com> Date: Wed, 7 Feb 2024 13:12:14 +0800 Subject: [PATCH] fix(upload): fix upload url for relationship blocks --- .../client/src/schema-component/antd/upload/shared.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/core/client/src/schema-component/antd/upload/shared.ts b/packages/core/client/src/schema-component/antd/upload/shared.ts index ab89c5040..d2fd7edec 100644 --- a/packages/core/client/src/schema-component/antd/upload/shared.ts +++ b/packages/core/client/src/schema-component/antd/upload/shared.ts @@ -5,6 +5,7 @@ import { isArr, isValid, toArr as toArray } from '@formily/shared'; import { UploadFile } from 'antd/es/upload/interface'; import { useEffect } from 'react'; import { useAPIClient } from '../../../api-client'; +import { useBlockRequestContext, useSourceIdFromParentRecord } from '../../../block-provider/BlockProvider'; import { UPLOAD_PLACEHOLDER } from './placeholder'; import type { IUploadProps, UploadProps } from './type'; @@ -171,6 +172,8 @@ export function useUploadProps({ serviceEr }; const api = useAPIClient(); + const { props: blockProps } = useBlockRequestContext(); + const sourceId = useSourceIdFromParentRecord(); return { ...props, @@ -185,6 +188,11 @@ export function useUploadProps({ serviceEr }); } formData.append(filename, file); + + if (blockProps?.association) { + action = `${blockProps?.association.split('.')[0]}/${sourceId}/${action}`; + } + // eslint-disable-next-line promise/catch-or-return api.axios .post(action, formData, {