开发环境为vue3.x+AntDesign,基于AntDesign中的upload组件封装,因为有时文件上传不仅仅需要图片,类似本次工作中遇到上传的文件有可能是图片、world、pdf等;
实现思路:将upload再次封装,根据文件的type、name后缀判断当前文件的类型,图片、视频支持预览,其他类型文件仅支持下载
实际开发中文件上传接口可能需要传token以及其他的参数,所以可以通过对应参数传参。
主要代码如下:
- <template>
- <div class="lemon-upload-layout">
- <a-upload
- :multiple="props.multipleType"
- :maxCount="props.maxLength"
- v-model:file-list="filesList"
- :accept="props.isTypeAll ? '' : props.acceptType"
- list-type="picture-card"
- :name="uploadName"
- :action="props.FileUploadUrl"
- :headers="props.headers"
- :data="props.uplaodData"
- :openFileDialogOnClick="true"
-