vue中Upload 上传图片路径前缀有blob怎么去掉
可以通过设置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:/去掉前缀,最后修改上传的文件名或路径
原文地址: https://www.cveoy.top/t/topic/cpm4 著作权归作者所有。请勿转载和采集!