mirror of
https://github.com/coaidev/coai.git
synced 2025-05-22 14:30:14 +09:00
feat: support multiple file upload
This commit is contained in:
parent
d183ed3224
commit
9151fdf8ee
@ -285,6 +285,7 @@ Translated with DeepL.com (free version)
|
|||||||
- [Golang SDK](https://github.com/Deeptrain-Community/chatnio-api-go)
|
- [Golang SDK](https://github.com/Deeptrain-Community/chatnio-api-go)
|
||||||
- [Java SDK](https://github.com/hujiayucc/ChatNio-SDK-Java) (Thanks to [@hujiayucc](https://github.com/hujiayucc))
|
- [Java SDK](https://github.com/hujiayucc/ChatNio-SDK-Java) (Thanks to [@hujiayucc](https://github.com/hujiayucc))
|
||||||
- [PHP SDK](https://github.com/hujiayucc/ChatNio-SDK-Php) (Thanks to [@hujiayucc](https://github.com/hujiayucc))
|
- [PHP SDK](https://github.com/hujiayucc/ChatNio-SDK-Php) (Thanks to [@hujiayucc](https://github.com/hujiayucc))
|
||||||
|
|
||||||
## ✨ Some EXCELLENT Open-source Projects
|
## ✨ Some EXCELLENT Open-source Projects
|
||||||
> **Frontend projects here refer to projects that focus on user chat interfaces, backend projects refer to projects that focus on API transfer and management, and one-stop projects refer to projects that include user chat interfaces and API transfer and management**
|
> **Frontend projects here refer to projects that focus on user chat interfaces, backend projects refer to projects that focus on API transfer and management, and one-stop projects refer to projects that include user chat interfaces and API transfer and management**
|
||||||
- [Next Chat @yidadaa](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web) (Front-end Oriented Projects)
|
- [Next Chat @yidadaa](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web) (Front-end Oriented Projects)
|
||||||
@ -296,7 +297,7 @@ Translated with DeepL.com (free version)
|
|||||||
- [FastGPT @labring](https://github.com/labring/FastGPT) (Knowledge Base)
|
- [FastGPT @labring](https://github.com/labring/FastGPT) (Knowledge Base)
|
||||||
- [Quivr @quivrhq](https://github.com/StanGirard/quivr) (Knowledge Base)
|
- [Quivr @quivrhq](https://github.com/StanGirard/quivr) (Knowledge Base)
|
||||||
- [Bingo @weaigc](https://github.com/weaigc/bingo) (Knowledge Base)
|
- [Bingo @weaigc](https://github.com/weaigc/bingo) (Knowledge Base)
|
||||||
- [Midjourney Proxy @novicezk](https://github.com/novicezk/midjourney-proxy) (Knowledge Base)
|
- [Midjourney Proxy @novicezk](https://github.com/novicezk/midjourney-proxy) (Model Library)
|
||||||
|
|
||||||
|
|
||||||
## 📄 Open Source License
|
## 📄 Open Source License
|
||||||
|
@ -276,6 +276,7 @@ function FileInput({ id, loading, className, handleEvent }: FileInputProps) {
|
|||||||
onChange={(e) => handleEvent(Array.from(e.target?.files || []))}
|
onChange={(e) => handleEvent(Array.from(e.target?.files || []))}
|
||||||
accept="*"
|
accept="*"
|
||||||
style={{ display: "none" }}
|
style={{ display: "none" }}
|
||||||
|
multiple={true}
|
||||||
// on transfer file
|
// on transfer file
|
||||||
onPaste={(e) => {
|
onPaste={(e) => {
|
||||||
const items = e.clipboardData.items;
|
const items = e.clipboardData.items;
|
||||||
|
@ -51,7 +51,7 @@ function fileReducer(state: FileArray, action: Record<string, any>): FileArray {
|
|||||||
case "add":
|
case "add":
|
||||||
return [...state, action.payload];
|
return [...state, action.payload];
|
||||||
case "remove":
|
case "remove":
|
||||||
return state.filter((file) => file !== action.payload);
|
return state.filter((_, i) => i !== action.payload);
|
||||||
case "clear":
|
case "clear":
|
||||||
return [];
|
return [];
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user