Abd*_*hab 6 javascript jsx html5-video reactjs
我正在使用 Upload 上传视频文件antd。我想上传视频并将上传的视频<video>作为源提供给标签,但我没有得到正确的解决方案。你能让我摆脱解决方案吗?提前致谢。
import React, { useState } from 'react';
import { Upload, Button } from "antd";
export default function UploadComponent(props) {
const initialstate = {
videoSrc:""
}
const [videoSrc , seVideoSrc] = useState("");
const { videoSrc } = apiData;
const handleChange = (info) => {
console.log(info)
//set the video file to videoSrc here
};
return (
<React.Fragment>
<div className="action">
<Upload className="mt-3 mb-3"
accept=".mp4"
action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
listType="picture"
maxCount={1}
onChange={handleChange}>
<Button>
Upload
</Button>
</Upload>
<video width="400" controls>
<source
src={videoSrc.Src}
type={videoSrc.type}
/>
Your browser does not support HTML5 video.
</video>
</div>
</React.Fragment>
)
}
Run Code Online (Sandbox Code Playgroud)
忽略任何语法错误,我只想按上传方式播放我的视频以及上传视频时的任何专业提示。
我通过做一些改变得到了解决方案
const [videoSrc , seVideoSrc] = useState("");
const handleChange = ({file}) => {
var reader = new FileReader();
console.log(file)
var url = URL.createObjectURL(file.originFileObj);
seVideoSrc(url);
};
Run Code Online (Sandbox Code Playgroud)
并使用React-Player在本地播放上传的视频
import "../node_modules/video-react/dist/video-react.css";
import { Player } from "video-react";
.....
<Player
playsInline
src={videoSrc}
fluid={false}
width={480}
height={272}
/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15770 次 |
| 最近记录: |