手机查看电脑的视频,基于springboot制作的一个简易个人视频网站

简介

为什么突然想起来做这个呢,还是因为手机内存些许有些少,电脑上的学习资料直接用电脑看不是很方便,还是想直接用手机看,这就萌生了这个想法,毕竟作为新时代的新青年,俺还是很爱学习的

image.png

实现思路

这一次实现就比较简单了,不需要数据库等方面的使用,主要使用的就是基础的java文件操作

查看固定文件夹下所有的视频文件

这里可以直接使用java的文件操作就可以,直接根据文件夹的路径,扫描文件夹下的所有文件,把这些文件的名称返回,后期需要使用这些文件名称与访问文件的映射地址进行拼接,从而实现对文件的读取

访问文件

在我的印象里,这里直接通过本地路径访问视频文件是无法使用的,所以必须设置一个虚拟映射,例如我这里设置的就是将file/对应本地的E:/file/video/,然后与上面拿到的文件名称进行拼接,就可以实现对本地文件的访问。例如我要访问E:/file/video/我又毕业啦!!.mp4,就直接访问ip:端口号/file/我又毕业啦!!.mp4即可

重要代码

获取所有的视频文件名称

/**
  * 这里的path是本地存放视频文件夹实际的路径
  * @param path
  * @return
  */
  public static List getAllFileName(String path) {
      ArrayList<String> fileNameList = new ArrayList<String>();
      boolean flag = false;
      File file = new File(path);
      //获取文件夹下所有的文件
      File[] tempList = file.listFiles();
      //把文件名称添加至列表之中
      for (int i = 0; i < tempList.length; i++) {
          if (tempList[i].isFile()) {
              fileNameList.add(tempList[i].getName());
          }
      }
      return fileNameList;
  }
复制代码

设置文件虚拟路径映射

这里设置的原因,就是利用springboot的虚拟路径映射来访问本地视频文件

这里先使用yml文件设置一下映射的路径

xiaow:
  video:
    upload: E:/file/video
    mapping: /file
复制代码

然后需要配置一下config

@Configuration
public class AppConfig extends WebMvcConfigurerAdapter {

    @Value("${xiaow.video.upload}")
    private String uploadUrl;


    @Value("${xiaow.video.mapping}")
    private String mappingUrl;


    /**
     * 这里配置一下虚拟映射,即我们访问file/**,但实际访问的资源是E:/file/video/**,从而实现对本地文件的访问
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {

        registry.addResourceHandler(mappingUrl+"/**").addResourceLocations("file:"+ uploadUrl + File.separator);
        super.addResourceHandlers(registry);
    }
}
复制代码

controller层传递文件数据

这里主要的作用就是返回存放视频的文件夹下的所有视频的名称,方便对这些视频进行访问

@RestController
@RequestMapping("/file")
public class FileController {
    /**
     * 获取所有的视频文件的名称,用于访问本地文件时使用
     * @param path
     * @return
     */
    @GetMapping("/getFiles")
    public List<String> getFiles(String path){
        return ReadFileUtils.getAllFileName(path);
    }
}
复制代码

前端

前端主要的就是ajax来访问接口,从而实现文件的展示,博主前端比较拉,就不献丑了,大佬们可以自己写一个非常哇塞的前端

手机进行访问电脑资源

  • 这里关键的就是手机和电脑要在一个局域网下,那么只要两台设备在一个wifi下就可以,当然如果各位有服务器,部署到服务器就没有这个限制了
  • 访问资源的url是 内网ip:端口号/videolist.html这种方式,查看自己的电脑的内网ip,直接打开终端输入
ipconfig
复制代码

即可查看,如下图

image.png

然后直接访问即可,例如博主的url是这样
http://192.168.0.105:8001/videolist.html

总结

最后用手机访问一下,是可以使用的
但前端有点拉,大家主动忽略一下

image.png

image.png

推荐更多学习课程:

java基础:    Java300集课程-Java必备优质教程_手把手图解学习Java,让学习成为一种享受_

Python基础: Python入门大全套!更适合初学者的Python从业速成计划!两个月可上岗那种!

java游戏项目:  【Java项目】开发王者荣耀教程和素材全套合集,不到2小时用Java做出王者荣耀

猜你喜欢

转载自juejin.im/post/7053252232837333023