weixin_46833243 2021-10-27 15:52 采纳率: 100%
浏览 92
已结题

vue 使用mysql数据库获取视频路径后,页面视频加载出错问题

我是一名vue初学者,最近在学习连接MySQL数据库时,发现视频路径能从数据库中提取出来,但是视频却无法加载出来。我也找了半天路径的问题,但是总是找不到关键的点。贴出代码和页面请大家帮我找找问题,谢谢

vue页面部分:

<template>
    <div>
      <el-container>
        <el-aside width="900px">
          <video ref="videoPlayer" class="video-js vjs-default-skin vjs-big-play-centered">
            <source :src="sp" type="video/mp4">
          </video>
        </el-aside>
        <el-container>
          <el-header>视频列表</el-header>
          <el-main >
          </el-main>
        </el-container>
      </el-container>
    </div>
</template>

<script>
import 'video.js/dist/video-js.css';
import videojs from 'video.js';
import Vue from 'vue'

import axios from 'axios';
Vue.prototype.$http = axios

export default {
    name: "VideoPlayer",

    data () {
        return {
            videoOptions: {
                playbackRates: [0.5, 1.0, 1.5, 2.0], 
                autoplay: false, 
                controls: true, 
                preload: 'auto', 
                muted: false, 
                loop: false, 
                language: 'zh-CN',
                width: "900px",
                height: "500px",
                notSupportedMessage: '此视频暂无法播放,请稍后再试' ,
                controlBar: {
                  timeDivider: true,
                  durationDisplay: true,
                  remainingTimeDisplay: true,
                  fullscreenToggle: true  
                }
            },
            shipin:'',
            sp:[]
        }
    },

    methods: {
        
        async selsp() { 
        var shipin = this.shipin;
        await this.$http.post('api/user/selsp', {
          shipin:shipin,
          }).then(res => {
            this.sp = res.data;
          }).catch(err => {
            console.log(err)
          })
        },
    },

    mounted() {
        this.player = videojs(this.$refs.videoPlayer, this.videoOptions, function onPlayerReady() {
            console.log('onPlayerReady', this);
        });
    },

    beforeUnmount() {
        if (this.player) {
            this.player.dispose()
        }
    },

    created() {
      this.selsp()
    },
        
}
</script>

<style>
  .el-header, .el-footer {
    background-color: #B3C0D1;
    color: #333;
    text-align: center;
    line-height: 60px;
  }
  
  
  .el-main {
    color: #333;
    text-align: center;
    line-height: 60px;
  }
  
</style>

连接数据库部分:

var models = require('../db/db');
var express = require('express');
var router = express.Router();
var mysql = require('mysql');
var $sql = require('../db/sqlMap');

// 连接数据库
var conn = mysql.createConnection(models.mysql);

conn.connect();
var jsonWrite = function(res, ret) {
    if(typeof ret === 'undefined') {
        res.json({
            code: '1',
            msg: '操作失败'
        });
    } else {
        res.json(ret);
    }
};


router.post('/selsp', (req, res) => {
  var sql = $sql.user.sel2;
  var params = req.body;
  console.log(params);
  conn.query(sql, function(err, result) {
      if (err) {
          console.log(err);
      }
      if (result) {
          jsonWrite(res, result);
      }
  })
});
router.get('/selsp', (req, res) => {
  res.send('retrunJson');
});


module.exports = router;

数据库:

img

实际页面:

img

  • 写回答

1条回答 默认 最新

  • CSDN专家-showbo 2021-10-27 15:54
    关注

    发布网址后不支持本地路径播放路径,要将视频放到nodejs网站目录下,使用相对路径加载
    示例

    app.set('view engine', 'ejs');//试图模板
    app.use(express.static('public'))
    app.get('/video', function (req, res) {
        res.render('video')
    });
    
    

    views/video.ejs

    
    <video src="v.mp4" controls></video>
    
    

    然后将视频拷贝到node express项目的pulibc目录下就可以了(注意路径不要加public目录)。然后题主改下数据的路径

    img

    参考:

    有帮助或启发麻烦点下【采纳该答案】,谢谢~~有其他问题可以继续交流~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月4日
  • 已采纳回答 10月27日
  • 创建了问题 10月27日

悬赏问题

  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档
  • ¥50 C++五子棋AI程序编写
  • ¥30 求安卓设备利用一个typeC接口,同时实现向pc一边投屏一边上传数据的解决方案。