diff --git a/packages/opendesign/src/upload/__docs__/__case__/UploadBasic.vue b/packages/opendesign/src/upload/__docs__/__case__/UploadBasic.vue
new file mode 100644
index 0000000000000000000000000000000000000000..460c8965bb883ea859ba45a65069c89c93e854ae
--- /dev/null
+++ b/packages/opendesign/src/upload/__docs__/__case__/UploadBasic.vue
@@ -0,0 +1,187 @@
+
+
+### Upload basic
+
+
+### Upload basic
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
删除前确认 onBeforeRemove
+
+
+
+
+
diff --git a/packages/opendesign/src/upload/__docs__/__case__/UploadSlots.vue b/packages/opendesign/src/upload/__docs__/__case__/UploadSlots.vue
new file mode 100644
index 0000000000000000000000000000000000000000..378211b591a4edb41dd3c69080d8853e4173f772
--- /dev/null
+++ b/packages/opendesign/src/upload/__docs__/__case__/UploadSlots.vue
@@ -0,0 +1,73 @@
+
+
+### Slots
+
+
+### Slots
+
+
+
+
+
+
+
自定义上传区域
+
+ 这是自定义上传区域
+
+
+
+
自定义上传按钮
+
+ 这是自定义上传按钮
+
+
+
+
+
+
+
diff --git a/packages/opendesign/src/upload/__docs__/__case__/uploadUsage.ts b/packages/opendesign/src/upload/__docs__/__case__/uploadUsage.ts
new file mode 100644
index 0000000000000000000000000000000000000000..ca946bbd3ec8e4e7e13325b73180f37fd319114e
--- /dev/null
+++ b/packages/opendesign/src/upload/__docs__/__case__/uploadUsage.ts
@@ -0,0 +1,95 @@
+import { propsToAttrStr } from '../../../_demo/utils';
+import { onAfterSelect, uploadRequest, onBeforeUpload, onBeforeRemove } from '../../__demo__/upload';
+import { reactive } from 'vue';
+import type { UploadFileT } from '../../../../lib';
+import { DocDemoSchema, DocDemoTemplate } from '../../../_demo/types.ts';
+
+// 该导出会作为该使用示例的文案,文案是markdown格式
+export const docs = {
+ 'zh-CN':
+ '用于上传文件到服务端。可设置项包含: \n' +
+ '- MIME类型`accept` \n' +
+ '- 是否禁用`disabled` \n' +
+ '- 是否支持多选`multiple` \n' +
+ '- 上传触发时机`lazyUpload` \n' +
+ '- 拖拽上传`draggable` \n' +
+ '- 文件列表类型`listType` \n' +
+ '- 按钮文本`btnLabel`等',
+ 'en-US':
+ 'Virtual scrolling is used to control the number of rendered items in a list to optimize rendering performance.Configurable options include: \n' +
+ '- list: the list data to render \n' +
+ '- defaultStartIndex: sets the default initial scroll position item \n' +
+ '- itemSize: defines the height of each item \n' +
+ '- defaultItemSize: specifies the default item height for variable-height items \n' +
+ '- buffer: sets front/render buffer padding \n' +
+ '- scrollbar: controls scrollbar behavior',
+};
+
+const imgs = [
+ 'https://www.openeuler.org/assets/fenhuo_light.8205c177.png',
+ 'https://www.openeuler.org/assets/tongYuan.fd26d7bf.png',
+ 'https://www.openeuler.org/assets/suse.37147e0c.png',
+];
+
+export const ctx = {
+ onAfterSelect, uploadRequest, onBeforeUpload, onBeforeRemove,
+ singleFileList: reactive([
+ {
+ id: '1',
+ name: 'test.png',
+ status: 'finished',
+ imgUrl: imgs[0],
+ },
+ ])
+};
+
+export const schema = {
+ accept: {
+ type: 'string',
+ default: 'image/jpeg,image/jpg,image/png,image/gif,video/mp4'
+ },
+ disabled: {
+ type: 'boolean',
+ default: false
+ },
+ multiple: {
+ type: 'boolean',
+ default: false,
+ },
+ btnLabel: {
+ type: 'string',
+ default: 'upload'
+ },
+ lazyUpload: {
+ type: 'boolean',
+ default: false
+ },
+ draggable: {
+ type: 'boolean',
+ default: true
+ },
+ dragLabel: {
+ type: 'string',
+ default: 'drag to upload'
+ },
+ dragHoverLabel: {
+ type: 'string',
+ default: 'put the file here'
+ },
+ listType: {
+ type: 'list',
+ list: ['text', 'picture', 'picture-card'] as const
+ }
+} satisfies Record;
+
+export const template: DocDemoTemplate = (_props) => {
+ return ``;
+};
diff --git a/packages/opendesign/src/upload/__docs__/index.en-US.md b/packages/opendesign/src/upload/__docs__/index.en-US.md
new file mode 100644
index 0000000000000000000000000000000000000000..da3e197e0deef3186a7f9dbe7c8b2e38f4fc2c3b
--- /dev/null
+++ b/packages/opendesign/src/upload/__docs__/index.en-US.md
@@ -0,0 +1,18 @@
+---
+sidebar: OUpload
+---
+
+# Upload
+
+## Usage
+
+
+
+## Cases
+
+
+
+
+## Api
+
+
\ No newline at end of file
diff --git a/packages/opendesign/src/upload/__docs__/index.zh-CN.md b/packages/opendesign/src/upload/__docs__/index.zh-CN.md
new file mode 100644
index 0000000000000000000000000000000000000000..c6e269709d52fd9738fdb17363288fccbc23bd54
--- /dev/null
+++ b/packages/opendesign/src/upload/__docs__/index.zh-CN.md
@@ -0,0 +1,18 @@
+---
+sidebar: OUpload 上传
+---
+
+# 上传
+
+## 使用
+
+
+
+## 示例
+
+
+
+
+## Api
+
+
\ No newline at end of file