全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法

废话不多说了,直接给大家贴代码了,具体代码如下所示:

// 上传目标触发点 
<input type="file" class="upvideo" name="upvideo" id="fileupload1" /> 
// 引入插件 
<script type="text/javascript" src="{$IMG}/bstage/js/jquery.form.js" language="javascript"></script> 
/**方法调用**/ 
setFileUpload({ 
 name: 'fileupload1',  
 backfun: upback1,  
 beforefun: checkUp1, 
 loadfun:loadup, 
 phpUrl: '/ossphp/php/get.php?ft=video' 
}); 
// 上传前验证 
function checkUp1(n){ 
 // 查看视频大小(mb) 
 var fileObj = document.getElementById(n).files[0]; 
 var relSize = parseInt(fileObj.size/1024/1024); 
 if(relSize > 10){ // 大于10mb 
  alert('提示','视屏超过10MB,请重新上传!'); 
  return false; 
 } 
 // 查看视频类型 
 var tv_id =document.getElementById(n).value;//根据id得到值 
 var index= tv_id.indexOf("."); 
 tv_id=tv_id.substring(index).toLowerCase(); 
 if(tv_id!=".rb"&&tv_id!=".rmvb"&&tv_id!=".mp4"&&tv_id!=".flv"){ 
  alert("提示","不是指定视频格式,重新选择"); 
  return false; 
 } 
 return true; 
} 
//上传中 
function loadup(){ 
} 
// 上传成功后操作 
function upback1(data){   
 // data 成功后的参数 
}  
/**上传功能封装**/ 
function setFileUpload(options){ 
 var n = options.name; 
 var phpUrl = options.phpUrl; 
 var backfun = options.backfun; 
 var beforefun = options.beforefun; 
 var loadfun = options.loadfun;  
 var accessid = ''; 
 var accesskey = ''; 
 var host = ''; 
 var policyBase64 = ''; 
 var signature = ''; 
 var callbackbody = ''; 
 var filename = ''; 
 var dirname = ''; 
 var expire = 0; 
 var upflag = true; 
 if(phpUrl==null || phpUrl==''){console.log('phpurl is null');return false;} 
 if(n==null || n==''){console.log('object is null');return false;} 
 var backfun1 = $.isFunction(backfun) ? 
      backfun : 
      function(success, error){ 
       console.log('no backfun'); 
      }; 
 var beforefun1 = $.isFunction(beforefun) ? 
      beforefun : 
      function(success, error){ 
       return true; 
      }; 
 var loadfun1 = $.isFunction(loadfun) ? 
      loadfun : 
      function(success, error){ 
       return true; 
      }; 
 var obj = $('#'+n); 
 obj.change(function(){ 
  if(beforefun1(n)){ 
   if(n=="fileupload1"){ 
    fileEmb1(n); 
   }else if(n == 'fileupload2'){ 
    fileEmb2(n); 
   }else if(n == 'fileupload3'){ 
    fileEmb3(n); 
   } 
  } 
 }); 
 function fileEmb1(n){ 
  //oss add 
  $("#"+n).attr('name','file'); 
  var file1 = $("#"+n).val();  
  var fileName = getFileName(file1); 
  phpUrl = phpUrl + '&fname='+fileName; 
  get_signature(); 
  var ldot = fileName.lastIndexOf("."); 
  var filetype = fileName.substring(ldot + 1); 
  $("#"+n).wrap("<form id='myupload1' action='"+host+"' method='post' enctype='multipart/form-data'></form>"); 
  $("#myupload1").prepend("<input type='hidden' value='' name='name' id='name'></input><input type='hidden' value='"+dirname+"."+filetype+"' name='key' ></input><input type='hidden' value='"+policyBase64+"' name='policy' id='policy'></input><input type='hidden' value='"+accessid+"' name='OSSAccessKeyId' id='OSSAccessKeyId'></input><input type='hidden' value='200' name='success_action_status' id='success_action_status' ></input><input type='hidden' value='"+callbackbody+"' name='callback' id='callback'></input><input type='hidden' value='"+signature+"' name='signature' id='signature'></input>"); 
  //speed_width进度条类 
  //percent进度数字类 
  //load_content上传区域 
  $('#myupload1').ajaxSubmit({ 
   dataType: 'json', //数据格式为json 
   data:'', 
   beforeSend: function() { 
    loadfun1(); 
    if(!upflag)return false; 
    upflag=false; 
   }, 
   uploadProgress: function(event, position, total, percentComplete) { 
    $('.upck_b').hide(); 
    $('.videspeed').show(); 
    percentComplete = percentComplete>=100?99:percentComplete; 
    var percentVal = percentComplete + '%'; //获得进度 
    $('.speed_num').css('width',percentVal); 
    $('.persent_em').html(percentComplete); 
   }, 
   success: function(data) { //成功 
     $('.load_content').html('<em >图片上传</em>'); 
     //上传成功后还原 
     $("#"+n).attr('name',''); 
     setFileUpload(options); 
     upflag=true; 
     backfun1(data); 
   }, 
   error:function(xhr){ //上传失败 
    $('.load_content').html('<em >图片上传</em>'); 
    upflag=true; 
   } 
  }); 
 } 
 function getFileName(path){ 
  var pos1 = path.lastIndexOf('/'); 
  var pos2 = path.lastIndexOf('\\'); 
  var pos = Math.max(pos1, pos2) 
  if( pos<0 ) 
   return path; 
  else 
   return path.substring(pos+1); 
 } 
 now = timestamp = Date.parse(new Date()) / 1000; 
 new_multipart_params = ''; 
 function send_request(){ 
  var xmlhttp = null; 
  if (window.XMLHttpRequest) 
  { 
   xmlhttp=new XMLHttpRequest(); 
  } 
  else if (window.ActiveXObject) 
  { 
   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
  } 
  if (xmlhttp!=null && phpUrl) 
  { 
   //phpUrl = '/ossphp/php/get.php?ft=resources'; 
   xmlhttp.open( "GET", phpUrl, false ); 
   xmlhttp.send( null ); 
   return xmlhttp.responseText; 
  } 
  else 
  { 
   alert("Your browser does not support XMLHTTP."); 
  } 
 }; 
 function get_signature() 
 { 
  //可以判断当前expire是否超过了当前时间,如果超过了当前时间,就重新取一下.3s 做为缓冲 
  now = timestamp = Date.parse(new Date()) / 1000;  
  //if (expire < now + 3) 
  //{ 
   body = send_request() 
   var obj = eval ("(" + body + ")"); 
   host = obj['host'] 
   policyBase64 = obj['policy'] 
   accessid = obj['accessid'] 
   signature = obj['signature'] 
   expire = parseInt(obj['expire']) 
   callbackbody = obj['callback'] 
   dirname = obj['dir'] 
   return true; 
  //} 
 }; 
} 

注:里面的细节还可以继续封装

以上所述是小编给大家介绍的JavaScript 上传文件(psd,压缩包等),图片,视频功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# js  # 上传文件  # 基于JS实现视频上传显示进度条  # nodejs实现截取上传视频中一帧作为预览图片  # js实现带进度条提示的多视频上传功能  # JavaScript中使用webuploader实现上传视频功能(demo)  # javascript前端实现多视频上传  # 上传  # 给大家  # 小编  # 图片上传  # 超过了  # 还可以  # 在此  # 说了  # 不多  # 所示  # 压缩包  # 所述  # 给我留言  # 感谢大家  # 格式为  # 疑问请  # 有任何  # 视屏  # 进度条 


相关文章: 贸易公司网站制作流程,出口贸易网站设计怎么做?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  MySQL查询结果复制到新表的方法(更新、插入)  ,南京靠谱的征婚网站?  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  兔展官网 在线制作,怎样制作微信请帖?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  高端网站建设与定制开发一站式解决方案 中企动力  智能起名网站制作软件有哪些,制作logo的软件?  建站之星代理如何优化在线客服效率?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何获取PHP WAP自助建站系统源码?  C#如何序列化对象为XML XmlSerializer用法  如何生成腾讯云建站专用兑换码?  如何在阿里云ECS服务器部署织梦CMS网站?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  Android自定义控件实现温度旋转按钮效果  高防服务器如何保障网站安全无虞?  建站OpenVZ教程与优化策略:配置指南与性能提升  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  建站之星上传入口如何快速找到?  建站之星与建站宝盒如何选择最佳方案?  如何彻底删除建站之星生成的Banner?  如何选择建站程序?包含哪些必备功能与类型?  网站制作的步骤包括,正确网址格式怎么写?  如何选择服务器才能高效搭建专属网站?  如何在阿里云虚拟服务器快速搭建网站?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  香港服务器选型指南:免备案配置与高效建站方案解析  建站之星导航菜单设置与功能模块配置全攻略  独立制作一个网站多少钱,建立网站需要花多少钱?  招商网站制作流程,网站招商广告语?  建站ABC备案流程中有哪些关键注意事项?  如何用花生壳三步快速搭建专属网站?  建站之星下载版如何获取与安装?  北京网站制作的公司有哪些,北京白云观官方网站?  如何规划企业建站流程的关键步骤?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  C++如何将C风格字符串(char*)转换为std::string?(代码示例)  如何快速生成高效建站系统源代码?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  如何制作一个表白网站视频,关于勇敢表白的小标题?  建站之星代理商如何保障技术支持与售后服务?  建站主机与虚拟主机有何区别?如何选择最优方案?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  制作网站的公司有哪些,做一个公司网站要多少钱?  如何在云服务器上快速搭建个人网站?  浅析上传头像示例及其注意事项  再谈Python中的字符串与字符编码(推荐) 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。