可以通过设置beforeUpload函数来修改上传的文件名或路径,可以在该函数中对文件名或路径进行处理,去掉前缀。

例如:

<template>
  <el-upload
    class="upload-demo"
    action="/upload"
    :before-upload="handleBeforeUpload"
    :on-success="handleSuccess"
    :on-error="handleError"
    :file-list="fileList"
    multiple>
    <el-button size="small" type="primary">点击上传</el-button>
  </el-upload>
</template>

<script>
export default {
  data() {
    return {
      fileList: []
    }
  },
  methods: {
    handleBeforeUpload(file) {
      // 去掉blob前缀
      const url = URL.createObjectURL(file)
      const fileName = file.name
      const newFileName = fileName.replace(/^blob:/, '')
      const newUrl = url.replace(/^blob:/, '')
      // 修改上传的文件名或路径
      file.url = newUrl
      file.name = newFileName
      return true
    },
    handleSuccess(response, file, fileList) {
      console.log(response)
      console.log(file)
      console.log(fileList)
    },
    handleError(error, file, fileList) {
      console.log(error)
      console.log(file)
      console.log(fileList)
    }
  }
}
</script>

handleBeforeUpload函数中,先通过URL.createObjectURL获取文件的URL,然后通过正则表达式/^blob:/去掉前缀,最后修改上传的文件名或路径

vue中Upload 上传图片路径前缀有blob怎么去掉

原文地址: https://www.cveoy.top/t/topic/cpm4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录