|
@@ -0,0 +1,58 @@
|
|
|
+<script setup lang="ts">
|
|
|
+import { ref, reactive, watch, computed } from "vue";
|
|
|
+
|
|
|
+const inputFiles = ref();
|
|
|
+const preview_list:any = ref([]);
|
|
|
+const image_list:any = ref([]);
|
|
|
+
|
|
|
+
|
|
|
+function uploadImage() {
|
|
|
+ console.log(inputFiles.value[0])
|
|
|
+ const reader = new FileReader();
|
|
|
+
|
|
|
+ reader.onload = function () {
|
|
|
+ preview_list.value.push(reader.result)
|
|
|
+ }
|
|
|
+ image_list.value.push(inputFiles.value[0]);
|
|
|
+ reader.readAsDataURL(inputFiles.value[0]);
|
|
|
+ console.log('finish uploadImage')
|
|
|
+ console.log(image_list.value[0].name)
|
|
|
+};
|
|
|
+</script>
|
|
|
+<template>
|
|
|
+ <div class="border p-2 mt-3">
|
|
|
+ <p>Style Preview</p>
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <v-file-input
|
|
|
+ v-model="inputFiles"
|
|
|
+ accept="image/*, video/*"
|
|
|
+ :label="$t('fileInput')"
|
|
|
+ prepend-icon="add_photo_alternate"
|
|
|
+ @update:model-value="uploadImage"
|
|
|
+ ></v-file-input>
|
|
|
+ <v-sheet class="canvas d-flex">
|
|
|
+ <template v-if="preview_list.length">
|
|
|
+ <div v-for="item in preview_list">
|
|
|
+ <img :src="item" class="img-fluid" />
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </v-sheet>
|
|
|
+ <v-sheet class="img-list" color="grey-lighten-3">
|
|
|
+ <template v-if="image_list.length">
|
|
|
+ <div v-for="item in image_list">
|
|
|
+ <p class="mb-0">file name: {{ item.name }}</p>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </v-sheet>
|
|
|
+
|
|
|
+
|
|
|
+</template>
|
|
|
+<style lang="scss">
|
|
|
+.img-fluid {
|
|
|
+
|
|
|
+}
|
|
|
+</style>
|
|
|
+
|