fix: 修复上传报错

This commit is contained in:
overtrue
2025-02-27 00:52:26 +08:00
parent 8f80ff2c8c
commit c93e533ceb
8 changed files with 1420 additions and 4927 deletions
+1 -1
View File
@@ -65,7 +65,6 @@
</template>
<script setup lang="ts">
import { prefix } from 'naive-ui/es/_utils/cssr'
import { computed, defineEmits, defineProps, ref } from 'vue'
import { useUploadTaskManagerStore } from '~/store/upload-tasks'
@@ -156,6 +155,7 @@ function removeItem(index: number) {
}
function handleUpload() {
console.log('uploading', allFiles.value);
allFiles.value.forEach(fileItem => {
uploadTaskManagerStore.addFiles([fileItem.file], props.bucketName, fileItem.prefix)
})
+2 -2
View File
@@ -91,7 +91,7 @@ const options = computed(() => {
<Icon name="ri:menu-unfold-fill" class="cursor-pointer text-xl" @click="toggleSidebar" />
</div>
<div v-if="!isCollapsed" class="flex flex-col p-4 text-gray-500">
<!-- <div v-if="!isCollapsed" class="flex flex-col p-4 text-gray-500">
<div class="flex items-center gap-2">
<Icon name="ri-server-line" />
<span>当前版本: {{ siteConfig.release.version }}</span>
@@ -104,7 +104,7 @@ const options = computed(() => {
<Icon name="ri-verified-badge-line" />
<span>授权协议{{ siteConfig.license.name }}</span>
</div>
</div>
</div> -->
<div class="p-4 sticky bottom-0 left-0 right-0">
<UserDropdown :isCollapsed="isCollapsed" />
+10 -12
View File
@@ -1,12 +1,10 @@
import en from '~/locales/en-US.json'
import zh from '~/locales/zh-CN.json'
export default defineI18nConfig(() => ({
legacy: false,
locale: 'en',
locales: [
{ code: 'en', language: 'en-US' },
{ code: 'zh', language: 'zh-CN' }
],
defaultLocale: 'en',
messages: { en, zh }
}))
// export default defineI18nConfig(() => ({
// legacy: false,
// locale: 'en',
// locales: [
// { code: 'en', language: 'en-US' },
// { code: 'zh', language: 'zh-CN' }
// ],
// defaultLocale: 'en',
// messages: { en, zh }
// }))
+6 -1
View File
@@ -109,11 +109,16 @@ class UploadTaskManager {
const { file, bucketName, prefix } = task;
const abortController = new AbortController();
task.abortController = abortController;
console.log('putObject', task);
const fileBuffer = await file.arrayBuffer();
const command = new PutObjectCommand({
Bucket: bucketName,
Key: prefix + task.file.name,
Body: file,
// Body: file,
// https://github.com/aws/aws-sdk-js-v3/issues/6834
Body: new Uint8Array(fileBuffer),
ContentType: file.type,
});
await this.s3Client.send(command, { abortSignal: abortController.signal });
+4 -4
View File
@@ -11,7 +11,7 @@ export default defineNuxtConfig({
devtools: { enabled: true },
modules: [
'@nuxtjs/tailwindcss',
'@nuxtjs/i18n',
// '@nuxtjs/i18n',
'@pinia/nuxt',
'@nuxt/icon',
'nuxtjs-naive-ui',
@@ -51,9 +51,9 @@ export default defineNuxtConfig({
}
}
},
i18n: {
vueI18n: './i18n.config.ts'
},
// i18n: {
// vueI18n: './i18n.config.ts'
// },
typescript: {
typeCheck: true
},
+1390 -4903
View File
File diff suppressed because it is too large Load Diff
+3 -2
View File
@@ -10,7 +10,8 @@
"postinstall": "nuxt prepare"
},
"dependencies": {
"@aws-sdk/client-s3": "^3.705.0",
"@aws-sdk/client-s3": "^3.750.0",
"@aws-sdk/protocol-http": "^3.374.0",
"@aws-sdk/s3-request-presigner": "^3.715.0",
"@nuxt/icon": "^1.9.1",
"@nuxtjs/i18n": "^9.1.1",
@@ -26,7 +27,7 @@
"json-editor-vue": "^0.17.3",
"lodash": "^4.17.21",
"rustfs": "^8.0.2",
"nuxt": "^3.6.0",
"nuxt": "^3.15.4",
"nuxtjs-naive-ui": "^1.0.2",
"pinia": "^2.3.0",
"strip-json-comments": "^5.0.1",
+4 -2
View File
@@ -1,5 +1,5 @@
import { defineStore } from 'pinia'
import UploadTaskManager from '~/lib/upload-task-manager'
import { defineStore } from 'pinia';
import UploadTaskManager from '~/lib/upload-task-manager';
export const useUploadTaskManagerStore = defineStore('uploadTaskManager', {
state: () => ({
@@ -13,6 +13,8 @@ export const useUploadTaskManagerStore = defineStore('uploadTaskManager', {
},
actions: {
addFiles(files: File[], bucketName: string, prefix?: string) {
console.log('addFiles', files, bucketName, prefix);
this.taskManager.addFiles(files, bucketName, prefix)
this.taskManager.start()
},