复制文件地址

This commit is contained in:
宇阳
2024-08-22 14:29:58 +08:00
parent 8bf88bc4c5
commit 96794995e6
2 changed files with 18 additions and 8 deletions

View File

@@ -30,13 +30,10 @@ export default ({ dir, open, onCancel, onSuccess }: UploadFileProps) => {
headers: {
"Authorization": `Bearer ${store.token}`
},
fileList, // 设置文件列表
onChange(info) {
showUploadList: false, // 不显示文件列表
async onChange(info) {
const { status } = info.file;
// 更新文件列表状态
setFileList(info.fileList);
let res;
if (status !== 'uploading') {
res = info?.file?.response;
@@ -44,8 +41,16 @@ export default ({ dir, open, onCancel, onSuccess }: UploadFileProps) => {
if (res?.code === 400) return message.error(res.message);
}
if (status === 'done') {
message.success(`文件上传成功`);
// 上传时候先去重避免重复url
const urls = [...new Set([...fileList, res.data])]
setFileList(urls)
// 复制文件链接到剪贴板
await navigator.clipboard.writeText(urls.join("\n"));
message.success(`文件上传成功URL链接已复制到剪贴板`);
onSuccess();
onCloseModel()
} else if (status === 'error') {
message.error(`文件上传失败:${res?.message}`);
}

View File

@@ -11,9 +11,9 @@ import { DeleteOutlined, DownloadOutlined, RotateLeftOutlined, RotateRightOutlin
import "./index.scss"
export default () => {
const [loading, setLoading] = useState(false)
const [isModalOpen, setIsModalOpen] = useState(false);
const [active, setActive] = useState("")
const [loading, setLoading] = useState(false)
const [dirName, setDirName] = useState("")
const [dirList, setDirList] = useState<string[]>([])
const [fileList, setFileList] = useState<File[]>([])
@@ -147,7 +147,12 @@ export default () => {
</Spin>
</Card>
<FileUpload dir={dirName} open={isModalOpen} onSuccess={() => getFileList(dirName)} onCancel={() => setIsModalOpen(false)} />
<FileUpload
dir={dirName}
open={isModalOpen}
onSuccess={() => getFileList(dirName)}
onCancel={() => setIsModalOpen(false)}
/>
</>
)
}