mirror of
https://github.com/rustfs/console.git
synced 2026-08-30 17:14:47 +08:00
fix: 修复上传报错
This commit is contained in:
@@ -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)
|
||||
})
|
||||
|
||||
@@ -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
@@ -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 }
|
||||
// }))
|
||||
|
||||
@@ -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
@@ -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
|
||||
},
|
||||
|
||||
Generated
+1390
-4903
File diff suppressed because it is too large
Load Diff
+3
-2
@@ -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",
|
||||
|
||||
@@ -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()
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user