el-upload只能上传PDF文件,用accept实现
时间: 2023-09-04 10:13:24 浏览: 422
可以使用el-upload组件的accept属性来限制上传的文件类型。为了只允许上传PDF文件,可以将accept属性设置为"application/pdf",如下所示:
```html
<el-upload
class="upload-demo"
action="/upload"
:accept="'application/pdf'"
:on-success="handleSuccess"
:before-upload="beforeUpload"
>
<el-button size="small" type="primary">点击上传PDF文件</el-button>
</el-upload>
```
这样,只有选择PDF文件才会触发上传操作。如果选择其他文件类型,则会显示一个错误提示。
相关问题
el-upload上传pdf文件
以下是使用Element UI中的el-upload组件上传pdf文件的示例代码:
```html
<template>
<el-upload
class="upload-demo"
action="/upload"
:on-change="handleChange"
:before-upload="beforeUpload"
:file-list="fileList"
:accept="'application/pdf'"
:limit="1"
:on-exceed="handleExceed"
:show-file-list="false"
>
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">只能上传pdf文件,且不超过1个</div>
</el-upload>
</template>
<script>
export default {
data() {
return {
fileList: []
};
},
methods: {
handleChange(file, fileList) {
console.log(file, fileList);
},
beforeUpload(file) {
const isPDF = file.type === 'application/pdf';
const isLt2M = file.size / 1024 / 1024 < 2;
if (!isPDF) {
this.$message.error('上传文件只能是pdf格式!');
}
if (!isLt2M) {
this.$message.error('上传文件大小不能超过 2MB!');
}
return isPDF && isLt2M;
},
handleExceed(files, fileList) {
this.$message.warning(`只能上传一个pdf文件!`);
}
}
};
</script>
```
在上述代码中,我们使用了Element UI中的el-upload组件来实现文件上传功能。其中,我们通过设置accept属性为'application/pdf'来限制只能上传pdf文件,通过设置limit属性为1来限制只能上传一个文件,通过设置show-file-list属性为false来隐藏文件列表。在beforeUpload方法中,我们对上传的文件进行了格式和大小的限制,如果不符合要求则会弹出错误提示。在handleChange方法中,我们可以获取到上传的文件信息。
el-upload上传pdf文件回显
el-upload 是一个基于 Element UI 的上传组件,可以用来上传各种类型的文件,包括 pdf 文件。要实现上传 pdf 文件并回显,可以按照以下步骤进行:
1. 在 el-upload 组件中设置 accept 属性为 'application/pdf',表示只允许上传 pdf 文件。
2. 在上传成功后的回调函数中,获取到上传成功的文件对象,将其转换为 URL.createObjectURL(blob) 的形式,即可得到一个可用于回显的 URL。
3. 将得到的 URL 赋值给一个 img 标签的 src 属性,即可在页面上显示 pdf 文件。
以下是一个示例代码:
```
<template>
<el-upload
class="upload-demo"
action="/upload"
:accept="'application/pdf'"
:on-success="handleSuccess">
<el-button slot="trigger">选取文件</el-button>
<el-button slot="tip" type="primary">只能上传pdf文件</el-button>
</el-upload>
<div v-if="pdfUrl">
<iframe :src="pdfUrl" width="100%" height="500px"></iframe>
</div>
</template>
<script>
export default {
data() {
return {
pdfUrl: ''
}
},
methods: {
handleSuccess(response, file) {
const blob = new Blob([file.raw], { type: 'application/pdf' })
this.pdfUrl = URL.createObjectURL(blob)
}
}
}
</script>
```
阅读全文