Я получаю видео с aws S3
на onclick event
.
Проблема 1: Каждый раз, когда я загружаю новое видео, мне приходится перезагружаться, чтобы снова использовать кнопку. Кнопка не реагирует на несколько нажатий
Проблема 2: старое видео воспроизводится, хотя я загружаю новое видео. Я пытался очистить куки. Ничего не работает.
<body>
<button id="getvideo">get video</button>
<video id="myVideo" width="320" height="240" controls><source type="video/mp4"></video>
<script type="text/javascript">
const button = document.getElementById("getvideo");
button.addEventListener("click", function(e) {
console.log('button was clicked');
fetch('/clicked', {method: 'GET'})
.then(function(response) {
if(response.ok) {
var url = response.url;
var data = url.substring(28)
var video = document.getElementById('myVideo');
document.querySelector("#myVideo > source").src = data;
document.getElementById("myVideo").load();
return;
}
throw new Error('Request failed.');
})
.catch(function(error) {
console.log(error);
});
});
</script>
</body>
Вот мой маршрут:
import express from 'express';
import get_video from '../controllers/getVideo.controller';
const router = express.Router();
router.get('', (req, res) => {
get_video.getVideo(req, (data) => {
res.redirect('/?data=' + data);
});
});
И мой сервер:
import http from 'http';
import express from 'express'
import bodyParser from 'body-parser'
import get_video from './routes/main.route'
const app = express();
app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(express.static(path.join(__dirname, '')));
app.get('/', (req, res)=> res.render('index', {title: 'My Homepage', msg: 'Hello World'}));
app.use('/clicked', get_video );
app.listen(5001, '0.0.0.0', ()=> console.log('Server running at http://127.0.0.1:5001/'))