You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Home copy.vue 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <template>
  2. <!-- accept 限制上传文件格式 .text-->
  3. <el-upload
  4. ref="uploadRef"
  5. action="https://jsonplaceholder.typicode.com/posts/"
  6. :auto-upload="false"
  7. :on-change="handleChange"
  8. :file-list="fileList"
  9. >
  10. <template #trigger>
  11. <el-button type="primary">select file</el-button>
  12. </template>
  13. <el-button class="ml-3" type="success" @click="submitUpload"> upload to server </el-button>
  14. <template #tip>
  15. <div class="el-upload__tip">jpg/png files with a size less than 500kb</div>
  16. </template>
  17. </el-upload>
  18. </template>
  19. <script lang="ts" setup>
  20. import { ref } from 'vue'
  21. import { barkTime } from '@/utils/utils'
  22. import { UploadProps, UploadUserFile } from 'element-plus'
  23. const uploadRef = ref()
  24. const fileList = ref<UploadUserFile[]>([])
  25. console.log(barkTime()) //时间戳
  26. const submitUpload = () => {
  27. uploadRef.value.submit()
  28. }
  29. const handleChange: UploadProps['onChange'] = (uploadFile, uploadFiles) => {
  30. // console.log(uploadFile, fileList.value.slice(-1));
  31. fileList.value = fileList.value.slice(-1)
  32. // let imgSize = Number(uploadFile.size / 1024).toFixed(2); // / 1024
  33. // //截取后缀名
  34. // const suffix = (uploadFile.name + '').split('.')[1]
  35. // //修改文件名称
  36. // uploadFile.name = barkTime() + '.' + suffix
  37. // if (uploadFiles) {
  38. // uploadFiles.value.split(uploadFiles.value.length, 1)
  39. // }
  40. console.log(fileList.value)
  41. }
  42. </script>