java怎么实现视频上传

Python014

java怎么实现视频上传,第1张

方法/步骤

1

首先这里jsp页面的代码 定义布局文件html的 如图所示

这是js文件 打开一个新子窗口和向页面中加载视频播放标签

上传文件java代码 获取时间转换成字符串作为上传之后的文件名以及设置保存路径和传值到jsp页面

这里copy代码 将一个源文件复制到新的目录路径下 如图所示

这里upload的jsp文件 用来选择视频文件并提交给后台

展示旧文件名新文件名和上传后的文件目录路径 并将其传给父页面即index.jsp

upload.jsp文件提交的代码经过java文件处理后通过控制转到upload_video.jsp

代码片段已经贴出来了,接下来我们开始演示界面 打开后如图所示 点击上传按钮

点击选择文件 找到要上传的视频文件 选中后选择打开 然后点击确定按钮

这里就是显示新旧文件名和文件目录路径的界面 点击确定将文件目录传给父文件界面

如图所示 目录路径已经出给input中了 点击播放按钮 就会出现播放界面并且自动播放了

1、接收前端上传的文件

/**

   * 接收多文件

   */

  @RequestMapping("/upload")

  public  R  uploadFile(@RequestParam Map<String, Object>params, HttpServletRequest request) {

        // 复杂类型的request对象

      MultipartHttpServletRequest mRequest = (MultipartHttpServletRequest) request

      // 获取文件名集合放入迭代器

      Iterator<String>files = mRequest.getFileNames()

        while (files.hasNext()) {

          // 获取上传文件的对象

          MultipartFile mFile = mRequest.getFile(files.next())

          if (mFile != null) {

              //原始文件名称

              String oldfile = mFile.getOriginalFilename()

       

              //文件后缀

              String suffix = oldfile.substring(oldfile.indexOf('.'), oldfile.length())

              String suffix2 = oldfile.substring(oldfile.indexOf('.')+1, oldfile.length())

          /***************文件处理*********************/

              }

      }

}

2.接收前端上传的文件

  /**

   * 接收附件

   * @param request

   * @return

   */

  @ResponseBody

  @RequestMapping(value="fileupload",method=RequestMethod.POST)

  public void springUpload(HttpServletRequest request) {

 

       //将当前上下文初始化给  CommonsMutipartResolver (多部分解析器)

      CommonsMultipartResolver multipartResolver=new CommonsMultipartResolver(

              request.getSession().getServletContext())

      //检查form中是否有enctype="multipart/form-data"

      if(multipartResolver.isMultipart(request)) {

      //将request变成多部分request

      MultipartHttpServletRequest multiRequest=(MultipartHttpServletRequest)request

      //获取multiRequest 中所有的文件名

       Iterator iter=multiRequest.getFileNames()

       while(iter.hasNext()){

              //一次遍历所有文件

              MultipartFile file=multiRequest.getFile(iter.next().toString())

              //最初上传文件名的文件名

              String oldFilename = file.getOriginalFilename()

              //获取初始文件名后缀

              String fileSuffix = oldFilename.substring(oldFilename.lastIndexOf(".") +1)

      /***************文件处理*********************/   

  }

}

3.接收前端上传的文件

/**

* 接收文件

*

*

* @param model

* @return

* @throws IOException

* @throws IllegalStateException

*/

@RequestMapping(value = "imageupload")

public void imageUpload(MultipartFile file) throws IllegalStateException, IOException {

          //文件名称

    String realFileName = file.getOriginalFilename()

    //文件后缀

    String suffix = realFileName.substring(realFileName.lastIndexOf(".") + 1)

         /***************文件处理*********************/

}

搞清楚两个问题:上传到自己的服务器还是第三方平台?播放器实用Flash还是H5播放器?

如果是上传到自己的服务器,使用H5播放。那上传视频就和普通的文件上传一样。都是通过Http上传。前端可以使用form表单上传也可以使用ajax异步上传。后台可以使用apache的Common-fileUpload工具来解析并保存文件。然后生成一个访问路径。将访问路径返回给前端的 video标签的src属性即可。通过几个简单的属性或脚本就能控制播放。

如果是上传到第三方平台,例如腾讯视频、爱奇艺、优酷等。他们都有开发者平台或者开放平台。一般都有一些jar工具类或者模板案例提供给你的。你上传之后,也有返回路径给你。这是一般都是嵌入它们的Flash插件。所以你只需要将那段Flash插件的HTML代码放入你的网页中就可以播放了。好处是,不需要自己存储。不需要准备播放器。坏处是,可能有广告。不是可能。是一定会有。