Rumah > hujung hadapan web > tutorial js > js是如何实现带进度条的多视频上传?

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

零下一度
Lepaskan: 2017-07-24 16:17:27
asal
1915 orang telah melayarinya

本文实例为大家分享了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>
Salin selepas log masuk

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>
Salin selepas log masuk

script:


//上传视频

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

Atas ialah kandungan terperinci js是如何实现带进度条的多视频上传?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan