valuePropName
:
'fileList'
,
getValueFromEvent
:
normFile
,
rules
:
[
{
required
:
true
,
message
:
'请上传商品视频!'
}
]
name
=
"file"
:
action
=
"action"
:
headers
=
"uploadHeaders"
:
accept
=
"'video/mp4'"
list
-
type
=
"picture-card"
@change
=
"videoUploadChange"
:
before
-
upload
=
"videoBeforeUpload"
:
preview
-
file
=
"previewVideoFile"
@preview
=
"videoPreview"
<
a
-
icon type
=
"plus"
/
>
<
div
class
=
"ant-upload-text"
>
Upload
<
/
div
>
<
/
div
>
<
a
-
modal
:
visible
=
"videoPreviewVisible"
:
footer
=
"null"
@cancel
=
"videoPreviewCancel"
>
<
video width
=
"100%"
height
=
"600px;"
controls
=
"controls"
id
=
"video"
>
您的浏览器不支持播放该视频!
<
/
video
>
<
/
a
-
modal
>
<
/
a
-
upload
>
<
/
a
-
form
-
item
>
<
/
form
>
<script>
import {getAuthorization} from '@/utils/cookieUtil'
export default {
watch: {
videoPreviewVisible: function (val) {
if(val === false){
const video = document.getElementById('video')
video.pause()
data() {
uploadHeaders: {Authorization: getAuthorization()},
action: process.env.VUE_APP_API_BASE_URL+'/upload/oss',
videoPreviewVisible: false,
methods: {
normFile(e) {
if (Array.isArray(e)) {
return e;
if(e && e.fileList){
let fileList = e.fileList.slice(-1);
fileList = fileList.map(file => {
if (file.response) {
file.url = file.response.data;
return file;
});
e.fileList = fileList
return e && e.fileList;
videoUploadChange({file, fileList }) {
if(file.status === 'error'){
fileList.pop()
this.$message.error("上传失败!")
videoBeforeUpload(file) {
const isLt10M = file.size / 1024 / 1024 < 10;
if (!isLt10M) {
this.$message.error('视频大小不能超过10M!');
return isLt10M
videoPreview(file){
this.videoPreviewVisible = true;
this.$nextTick(() => {
const video = document.getElementById('video')
video.src = file.url
});
videoPreviewCancel(){
this.videoPreviewVisible = false
</script>
antd vue upload组件上传视频并实现视频预览html代码 <form> <a-form-item label="商品视频" :labelCol="{span: 4}" :wrapperCol="{span: 18}" > <a-upload v-de
关于antd上传视频无法预览提供一种思路
使用upload上传视频时,预览按钮是灰色的无法点击,并且没有缩略图,我这边的解决方法是,自定义一个预览,点击预览时,直接跳转到另一个页面,缩率图可以使用一张网图从网上或者是直接存储在服务器上的。
handlePreviewFile(file) {
return new Promise((resolve) => {
const reader = ne...
第一步:安装ali-oss
第二步:配置相关参数(建立一个oss.js,模块化)
相关oss配置项地址:https://help.aliyun.com/document_detail/64095.html第三步:API封装接口,引入配置文件
第四步:ant的a-upload组件...
当成功时返回上传到oss的路径,以及文件的类型
首先需要一个上传文件的组件a-upload,一个进度条, 在beforeUpload中对文件进行文件类型的检测,在customRequest上传文件到阿里云 oss
## 1.beforeUpload对文件类型进
1. 禁用Ant Design Vue组件库的上传组件。
您可以将Ant Design Vue的上传组件禁用,以防止用户上传组件。您可以在Ant Design Vue的官方文档中查找有关如何禁用组件的详细信息。
2. 检查上传的文件类型和大小。
您可以通过检查上传文件的类型和大小来确保用户上传的内容是安全的。在上传之前,您可以检查文件扩展名和MIME类型。您还可以限制上传的文件大小,以确保您的服务器不会受到过大的文件的影响。
3. 实施权限控制。
您可以通过实施权限控制来确保只有受信任的用户才能上传组件。您可以在Ant Design Vue的官方文档中了解如何实施权限控制的详细信息。
希望这些信息可以对您有所帮助!