uni.uploadfile 在h5下上传blob文件链接的时候无法获取文件名后缀
时间: 2023-08-12 20:02:33 浏览: 233
得到文件后缀名
在H5下使用uni.uploadfile上传Blob文件链接时,无法直接获取文件名后缀。这是因为Blob对象表示了一个不可修改的类文件数组,它并没有提供直接获取文件名后缀的方法。
但是我们可以通过其他方式获取文件名后缀。一种方法是在上传文件之前,将文件名后缀存储在变量中,并传递给服务器端进行处理。比如,在H5中可以通过input标签的onchange事件获取到用户选择的文件,并通过对文件名的分割操作获取文件名后缀。
示例代码如下:
```javascript
<template>
<div>
<input type="file" @change="handleFileUpload">
</div>
</template>
<script>
export default {
methods: {
handleFileUpload(event) {
const file = event.target.files[0];
const fileName = file.name; // 获取文件名
const fileExtension = fileName.split('.').pop(); // 获取文件名后缀
console.log('文件名后缀:', fileExtension);
// 通过uni.uploadfile上传文件,将文件名后缀传递给服务器端
uni.uploadFile({
url: 'https://example.com/upload',
filePath: file.tempFilePath,
name: 'file',
formData: {
fileExtension: fileExtension
},
success: (res) => {
console.log(res);
},
fail: (err) => {
console.log(err);
}
});
}
}
}
</script>
```
通过这种方式,我们可以获取到文件名后缀,并将它传递给服务器端进行处理。另外,也可以在服务器端根据文件的Content-Type来判断文件类型,以便进行相应的处理。
阅读全文