欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

js是如何实现带进度条的多视频上传?

程序员文章站 2022-03-21 12:22:31
...
本文实例为大家分享了js带进度条上传多视频的具体代码,供大家参考,具体内容如下

效果:

js是如何实现带进度条的多视频上传?

引用:


 <link rel="stylesheet" href="bootstrap.css" rel="external nofollow" >
 <script src="jquery.fileupload.js"></script>
 <script src="http://malsup.github.com/jquery.form.js"></script>

html:


<p class="form-group">
      <label>产品视频:</label>
      <p class="videoUpfile">
        <input type="file" name="avatarVideo" class="avatarVideo"><a class="btn deleteAvatarVideo" href="javascript:;" rel="external nofollow" rel="external nofollow" >删除</a>
        <p class="videoMaterials">
          <p class="progress">
            <p class="progress-bar progress-bar-success progress-bar-striped" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
              <span class="sr-only">0% Complete</span>
            </p>
          </p>
          <p class="files"></p>
          <p class="showimg"></p>
          <input type="hidden" value="" name="video_id[]">
          <p style="color: #b92c28" class="img_upload_info"></p>
        </p>
      </p>
      <p class="videoUpfile">
        <input type="file" name="avatarVideo" class="avatarVideo"><a class="btn deleteAvatarVideo" href="javascript:;" rel="external nofollow" rel="external nofollow" >删除</a>
        <p class="videoMaterials">
          <p class="progress">
            <p class="progress-bar progress-bar-success progress-bar-striped" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
              <span class="sr-only">0% Complete</span>
            </p>
          </p>
          <p class="files"></p>
          <p class="showimg"></p>
          <input type="hidden" value="" name="video_id[]">
          <p style="color: #b92c28" class="img_upload_info"></p>
        </p>
      </p>
</p>

script:


//上传视频

$(".avatarVideo").change(function() {
  var _this = $(this);
  _this.wrap("<form class='fileUploadeVideo' action='/admin/uploadimg/addVideo' method='post' enctype='multipart/form-data'></form>");
  _this.parents('.fileUploadeVideo').ajaxSubmit({
    dataType: 'json',
    beforeSend: function () {
      $(".progress").show();
    },
    uploadProgress: function (event, position, total, percentComplete) {
      var percentVal = percentComplete + '%';
      _this.parents('.videoUpfile').find(".progress-bar").width(percentComplete + '%');
      _this.parents('.videoUpfile').find(".progress-bar").html(percentVal);
      _this.parents('.videoUpfile').find(".sr-only").html(percentComplete + '%');
    },
    success: function (data) {
      if(data.code==100) {
        _this.parents('.videoUpfile').find(".files").html("文件名: " + data.video_title);
        _this.parents('.videoUpfile').find("input[type=hidden]").val(data.video_id);
        alert("上传成功!");
      }else{
        alert("上传失败");
      }
    },
    error: function () {
      alert("上传失败");
    }
  });

以上就是js是如何实现带进度条的多视频上传?的详细内容,更多请关注其它相关文章!