`
starbhhc
  • 浏览: 649094 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

swfupload

 
阅读更多

 

私人总结以及使用.

 

页面中也用swfupload.js,加入相应的文件夹

还有标签

${subinfo_index}的意思是list中的次数依次叠加1,2,3......如果有多个实例的话,能用到,一个的话就不用了,实例中的参数也不用写了,还有index.

<div id="uploadFileShowUL${subinfo_index}"></div>

<script type="text/javascript">

 initSerFlow_upload(${subinfo_index});

</script>

 

<input id="fileName${subinfo_index}" name="fileName${subinfo_index}" " type="hidden">

<input id="uniqueName${subinfo_index}" name="uniqueName${subinfo_index}" " type="hidden">

<input id="fileSize${subinfo_index}" name="fileSize${subinfo_index}" " type="hidden">

<input id="filePath${subinfo_index}" name="filePath${subinfo_index}" " type="hidden">

 

<b id="spanButtonPlaceholder${subinfo_index}"></b>

//上传上的每个文件都有进度条的话,只要这个,这个demo就是每个文件都有进度条,页面不需要,js中添加

 

//只有一个进度条的话,页面添加

<div style="overflow:hidden;">

 <div id="divFileProgressContainer" style="left"></div>

</div>

<b id="spanButtonPlaceholder${subinfo_index}"></b>

 

<div id="progressbar" class="progress-bar-ser"><span id="schedule" class="schedlue"></span></div>

<p class="progress-nb" id="progress"></p>

 

 

 

 

在加入一个serflow_submit_info.js里面是swfupload的实例以及其他方法

 

/**公共方法*/

//校验特殊字符

function checkStr(s,patten){

  if(patten =="" || patten==null){ patten=new RegExp("[~'!@#$%^&*()-+_=:]");}

  if(s !="" && s!=null){

   if(patten.test(s)==false){return false;}else{ return true;}

}

}

//截取过长的文件名称

functin subFileName(fileName,num){

 var subName="";

 if(fileName.length>num){subName=fileName.substring(1,num)+"..."}else{

subName=fileName;

}

return subName;

}

 

//格式化文件大小单位

function formatBytes(value){

  if(null==value || value==""){ return "0 Bytes";}

  var unitArr =new Array("Bytes","KB","MB","GB","TB","PB","EB","ZB","YB");

  var index=0;

 var srcsize=parseFloat(value);

 var quotient=srcsize;

 while(quotient>1024){

  index+=1;

  quotient=quotient/1024;

}

//return Math.floor(quotient,2)+" "+unitArr[index];

return quotient.toFixed(2)+" "+unitArr[index];

}

 

/**附件上传开始swfupload*/

var swfu =new Array();//全局

var fileType="*.doc;*.docx;*.ppt;*.pptx;*.xls;*.xlsx;*.pdf;*.txt;*.jpg;*.JPG;*.bmp;*.BMP;*.png;*.PNG;*.jpeg;*.JPEG";

function initSerFlow_upload(index){

 swfu[index] =new SWFUpload({

     upload_url : "uploadFile.do",//上传到control,方法上传

     file_size_limit: '5120',//5MB

     file_types:fileType;//上传类型

     file_types_description:"所有文件";

     file_post_name: "ecspfile";

    post_params :{

    "operator":userId,//获取当前用户id  

   "format" :"*.doc;*.docx;*.ppt;*.pptx;*.xls;*.xlsx;*.pdf;*.txt;*.jpg;*.JPG;*.bmp;*.BMP;*.png;*.PNG;*.jpeg;*.JPEG";//暂不用

},

   file_upload_limit:"0",//上传文件队列多0个(o代表不受限制)

   file_queue_error_handler: fileQueueError,//选择文件后出错

  file_dialog_complete_handler: fileDialogComplete,//选择好文件后提交

  file_queued_handler: fileQueued,

  upload_start_handler: uploadStart,

  upload_progress_handler:uploadProgress,

//upload_error_handler: uploadError,

 upload_success_handler: uploadSuccess,

 upload_complete_handler: uploadComplete,

  swfupload_loaded_handler : loadedInit,

  button_image_url:"/img/upload_attch.png",//按钮背景

  button_placeholder_id:"spanButtonPlaceholder"+index,

  button_width:134,

  button_height:13,

  //button_text_top_padding:1,

   // button_text_left_padding:1,

 button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT,

 button_cursor: SWFUpload.CURSOR.HAND,

 button_action: SWFUpload.BUTTOn.ACTION.SELECT_FILE,//上传选择文件只能单选

 use_query_string:true,

 flash_url: "/swfupload/swfuoload.swf",

custom_settings:{

   upload_target: "divFileProgressContainer"+index,

   experIndex:index//参数

},

 debug:false

//是否显示调试窗口

});

]

 

 

//上传文件

function fileDialogComplete(numFileSelected, numFilesQueued, numFilesInQueue){

 var experIndex=this.customSettings.experIndex;//获取实例的参数

 $("#schedule"+experIndex).attr('style','width:0%',);

 $("#progressbar"+experIndex).css("visibility","visible");

}

 

function loadedInit(){

 //如果初始化加载实例需要操作的话,这里执行

}

 

//开始上传

 

function uploadStart(file){

 var experIndex=this.customSettings.experIndex;//获取实例的参数

 var stats=swfu[experIndex].getStats();

 swfu[experIndex].setButtonDisabled(true);

 var fileName=$("#fileName"+experIndex).val().split(",");

 if(checkStr(file.name)==true){

  alert("附件名称还有非法字符(~'!@#$%^&*()-+_=:)");

  clearFileQueued(file,experIndex);

  swfu[experIndex].setButtonDisabled(false);

  return false;

} else if(fileName!=file.name && index==10 && unqiqueNameFile==undefined){//不是覆盖

createUploadFileUIDom(file,"wangyf2",experIndex);

}

}

 

//上传进度条.每个文件都有自己的进度条

function uploadprogress(object,complete,bytes){

 var experIndex=this.customSettings.experIndex;

 var stats=swfu[experIndex].getStats();

$("#schedule"+experIndex+object.id).attr("style",'width:'+(complete/bytes*100)+'%');

$("#progress"+experIndex+object.id).html("上传中("+Math.floor(complete/bytes*100)+")%");

}

 

//上传一个文件成功后,触发的事件

function uploadComplete(file){

 var experIndex=this.customSettings.experIndex;

 try{

}catch(ex){

 this.debug(ex);

}

}

 

//上传成功后

var index=10;

var fileUnqueName="";

function uploadSuccess(file,serverData,responseReceived){

 var experIndex=this.customSettings.experIndex;

 var result=$.parseJSON(eval(serverData));

 var fileName=$("#fileName"+experIndex).val().split(",");

//储存的真实名字

var uniqueName=$("#uniqueName"+experIndex).val().split(",");

var stats=swfu[experIndex].getStats();

if(result.retCode=="000000"){

  fileUnqueName=result.ecspFileInfo.uniqueName;

 //累加文件名称

  addUploadFileName(uniqueName,fileUnqueName,fileName,file,experIndex);

 

//也可以成功后创建文件

//createUploadFileUIDom(file,uniqueName,experIndex);

//只有一个,覆盖后的,存在文件的唯一名称

if(fileName!=file.name && index==10 && unqiueNameFile==undefined){

  //处理fileUnqueName

 $("a").each(function(){

  if($(this).attr("onclick")!="" && $(this).attr("onclick")!=undefined && $(this).attr("onclick").indexOf(file.name)>0){

  var onck=$(this).attr("onclick").replace("wangyf2",uniqueName);

  $(this).attr("onclick",onck);

}

});

 

$("#schedule"+experIndex+file.id).attr('style','width:100%');

$("#progress"+experIndex+file.id).html("上传中("+"100%)");

$("#progress"+experIndex+file.id).removeClass("mr15");

alert("上传成功");

}else {//文件覆盖

 

$("#schedule"+experIndex+file.id).attr('style','width:100%');

$("#progress"+experIndex+file.id).html("100%");

unqiqueNameFile=undefined;

index=10;

}

setTimeout(function(){

$("#schedule"+experIndex+file.id).css('visibility',hidden');

$("#progress"+experIndex+file.id).attr("style","display:none");

$(".progress-nb").html();

},500);

 

}else if (result.retCode=="999007"){

//处理文件格式不正确后的数量限制

stats.successful_uploads--;

swfu[experIndex].setStats(stats);

alert("文件格式不正确");

 

setTimeout(function(){

$("#progressbar"+experIndex+file.id).css("'visibility'","hidden'");

$("#schedule"+experIndex+file.id).attr("style","display:none");

$(".progress-nb").html();

},500);

}

 

swfu[experIndex]..setButtonDisabled(false);

//限制数量

if(stats.successful_uploads>=1 && stats.successful_uploads<=2){

swfu[experIndex].setButtonImageURL("/img/continue_upload.png");//换背景

swfu[experIndex].setButtonDisabled(false);

}else if(stats.successful_uploads>=3){

swfu[experIndex].setButtonImageURL("/img/continue_upload.png");//换背景

swfu[experIndex].setButtonCursor(SWFUpload.CURSOR.ARROW);//鼠标属性

swfu[experIndex].setButtonDisabled(true);//不能点击

}

}

 

function getReurnPath(file,serverData){

 if(responsePaths==""){

 responsePath=responsePath+serverData;

}else{

 responsePath=responsePath+","+serverData;

}

}

 

 

function startUploadFile(){

 var experIndex=this.customSettings.experIndex;

swfu[experIndex].startUpload();

}

 

function fileQueueError(file,code,message){

 if(file.size==0){

 alert("不能上传文件大小为0MB的文件");return;

}

if(code==SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT){

alert("所选文件超过指定大小,最大支持5M");return;

}

}

 

/**

function fileQueueError(file,code,message){

try{

 switch(code){

case  SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:

expecialShowMsg("不能上传文件大小为0MB的文件");

break;

case  SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:

expecialShowMsg("所选文件超过指定大小,最大支持5M");

break;

case  SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:

expecialShowMsg("所选文件类型不正确");

break;

default:

expecialShowMsg(message);

break;

}

}catch(ex){

this.debug(ex);

}

}

*/

 

 /**清空文件上传列队*/

 function clearFileQueued(file,experIndex){

swfu[experIndex].customSettings.queue=swfu[experIndex].customSettings.queue || new Array();

swfu[experIndex].cancelUpload(swfu[experIndex].customSettings.queue.pop(),false);

}

 

function fileQueued(file){

  var experIndex=this.customSettings.experIndex;

  var uploadFileName=file.name;

  var fileAllSize=$("#fileAllSize"+experIndex).val();//获取文件上传的总大小

 fileAllSize=parseInt(fileAllSize)+parseInt(file.size);//当前文件大小+已上传文件总大小

if(fileAllSize>5242880){//5MB

  //清空上传队列

  clearFileQueued(file,experIndex);

alert("上传文件总容量不能大于5M");

return ;

}

//储存已上传文件大小

$("#fileAllSize"+experIndex).val(fileAllSize);

 

//如果不存在同名文件,直接上传

var checkFlag=checkUploadFileName(uploadFileName,experIndex);

if(checkFlag==false){

 swfu[experIndex].startUpload();

}else{

  confim("提示",'已包含一个名为"'+subFileName(uploadFileName,25)+'"的文件,是否覆盖?',"确定","取消",function(){

 //删除存在的文件,再上传当前文件

  //var index;

  var indexValue;

var SerAttrs=new Array();

 realizeSerAttrs=$("#fileName"+experIndex).val().split(",");

 for(var i=0,i<realizeSerAttrs.length;i++){

 if(realizeSerAttrs[i]==uploadFileName){index=i;}

}

var SerImg=new Array();

SerImg=$("#uniqueName"+experIndex).val().split(",");

 for(var j=0,i<SerImg.length;j++){

 indexValue=SerImg[index];

}

deleteUploadFile(uploadFileName,indexValue,experIndex);

},function(){

//清空上传列队

 clearFileQueued(file,experIndex);

})

 }

}

 

//从上传文件列表中删除所选择的文件

function deleteUploadFile(uploadFileName,uniquName,experIndex){

var fileNames=$("#fileName"+experIndex).val();

var fileNamesArray=fileNames.split(",");

//如果只有一个文件,直接清空列表

 if(fileNamesArray.length==1){

//执行删除文件操作

  subdeleteUploadFile(-1,fileNamesArray,uniquName,experIndex);

}else{

 for(var i=0;i<fileNamesArray.length;i++){

  if(fileNamesArray[i]==uploadFileName){

//执行删除文件操作

  subdeleteUploadFile(i,fileNamesArray,uniquName,experIndex);

break;

}

}

}

 

}

 

//覆盖删除操作

function   subdeleteUploadFile(i,fileNamesArray,uniquName,experIndex){

//执行删除文件上传

$.ecspCORS.invokeCORSGet(ECSP_UPLOAD_URL+"/delete/"+uniqueName+".do",function(respionseText){

  var result=$.parseJSON(eval(respionseText));

  if(result.retCode=="000000"){

    var stats=swfu[experIndex].getStats();

   stats.successful_uploads--;

   swfu[experIndex].setStats(stats);

   swfu[experIndex].startUpload();

}

})

}

 

//累加上传的文件名称

var unqiueNameFile;

function addUploadFileName(uniqueName,uniqueNameValue,fileName,file,experIndex){

if(fileName==""){

 $("#fileName"+experIndex).val(file.name);

 $("#uniqueName"+experIndex).val(uniqueNameValue);

}else{//删除数组中的重复记录,

var flag=false;

 for(var i=0;i<fileName.length;i++){

  if(fileName[i]==file.name){

 index=i;

flag=true;

break;

}else{

continue;

}

}

if(flag==false){

fileName.push(file.name);

uniqueName.push(uniqueNameValue);

}else{

//修改唯一名称

   var indexValue=uniqueNameValue;

  for(var j=0;j<uniqueName.length;j++){

 if(j==index){

uniqueNameFile=uniqueName[index];

uniqueName[index]=indexValue;

}

}

}

 

if(uniqueNameFile!=undefined){//覆盖后删除,修改删除按钮参数

 $("a").each(function(){

  if($(this).attr("onclick")!="" && $(this).attr("onclick")!=undefined && $(this).attr("onclick").indexOf(uniqueNameFile)>0){

  var onck=$(this).attr("onclick").replace(uniqueNameFile,uniqueNameValue);

  $(this).attr("onclick",onck);

}

});

}

 

 $("#fileName"+experIndex).val(file.name.toString());

 $("#uniqueName"+experIndex).val(uniqueName.toString()););

}

}

 

//校验文件上传是否存在同名文件

function checkUploadFileName(uniqueFileName,experIndex){

var  checkFlag="";

var fileNames= $("#fileName"+experIndex).val();

if(fileNames=="" || fileNames==undefined){

 checkFlag=false;

}else{

  var fileNamesArray=fileNames.split(",");

var namesSize=fileNamesArray.length;

 for(var i=0;i<namesSize;i++){

 if(fileNamesArray[i]==uploadFileName){

 return checkFlag=true;

}else{

 checkFlag=false;

}

}

}

return checkFlag;

}

 

//动态创建上传文件显示列表

var times="";

function creatUploadFileUIDom(file,uniqueName,experIndex){

//根据不同的文件类型显示图片

var imgSrc="";

if(file.type==".doc" || file.type==".docx"){

imgSrc="file_word";

}else if(file.type==".pptx" || file.type==".ppt"){

imgSrc="file_ppt";

}else if(file.type==".xls" || file.type==".xlsx"){

imgSrc="file_excel";

}else if(file.type==".pdf"){

imgSrc="file_pdf";

}else if(file.type==".txt"){

imgSrc="file_txt";

}else if(file.type==".jpg" || file.type==".bmp" || file.type==".png" || file.type==".jpeg"   ){

imgSrc="file_img";

}else if(file.type==".zip" || file.type==".rar"  ){

imgSrc="file_ys";

}else{

 imgSrc="file_pt";

}

 

//获取当前系统时间戳

var timestamp=new Date().getTime();

var deleteUploadFileFun="deleteUploadFileUIDom('"+file.name+"','"+timestamp+"','"+uniqueName+"','"+experIndex+"');";

times=timestamp;

//创建上传文件列表

var showStr="";

showStr+='<li id='+timestamp+'>';

showStr+="<div class='file_icon"+imgSrc+"'></div>";

showStr+="<div class='media-body'>";

showStr+="<p class="file_name"> <span class='font_h'>" +subFileName(file.name,25)+"</span>&nbsp;";

showStr+="<span class='grys'>(" +formatBytes(file.size)+")" +"</span></p>";;

showStr+="<p>";

showStr+='<span class=" grys progress-nb mr15" id="progress'+experIndex+file.id+'"></span>';

showStr+='<a onclick="'+deleteUploadFileFun+'" class="font_blue">删除</a>';

showStr+="<p>";

showStr+="</div></li>";

  if($("#uploadFileShowUI"+experIndex).html()==""){

 $("#uploadFileShowUI"+experIndex).html(showStr);

}else{

$("#uploadFileShowUI"+experIndex).append(showStr);

}

}

 

//从上传文件列表中删除所选择的文件

function deleteUploadFileUIDom(uploadFileName,deleteLiId,uniquName,experIndex){

var fileNames=$("#fileName"+experIndex).val();

var fileNamesArray=fileNames.split(",");

//如果只有一个文件,直接清空列表

 if(fileNamesArray.length==1){

//执行删除文件操作

  submitDeleteUploadFile(-1,fileNamesArray,deleteLiId,uniquName,experIndex);

}else{

 for(var i=0;i<fileNamesArray.length;i++){

  if(fileNamesArray[i]==uploadFileName){

//执行删除文件操作

  submitDeleteUploadFile(i,fileNamesArray,deleteLiId,uniquName,experIndex);

break;

}

}

}

 

}

 

//删除文件服务器上的资料

function   submitDeleteUploadFile(arrayIndex,fileNames,deleteLiId,uniquName,experIndex){

//执行删除文件上传

confim("删除附件","确定删除附件?","确定","取消",function(){

$.ecspCORS.invokeCORSGet(ECSP_UPLOAD_URL+"/delete/"+uniqueName+".do",function(respionseText){

  var result=$.parseJSON(eval(respionseText));

  if(result.retCode=="000000"){

 

 var inputValut="";

var uniqueNameValue="";

var uniqueNameArray=$("uniqueName"+experIndex).val().split(",");

for(var i=0;i<uniqueNameArray.length;i++){

  if(uniqueNameArray[i]==uniqueName){continue;}else{

 uniqueNameValue+=uniqueNameArray[i]+",";

}

}

 

if(uniqueNameValue!=""){

 uniqueNameValue=uniqueNameValue.substring(1,uniqueNameValue.length-1);

}

 

$("#uniqueName"+experIndex).val(uniqueNameValue);

$("#"+deleteLiId).remove();//删除页面相对应的文件

//获取删除的文件在文件名字字符串中的位置,并删除

var delFilename=fileNames.splice(jQuery.inArray(fileNames[arrayIndex],fileNames),1);//定义删除的文件所在位置

for(var i=0;i<fileNames.length;i++){

 if(fileNames[i]==delFilename){continue;}else{

 inputValut+=fileNames[i]+",";

}

}

 

if(inputValut!=""){

 inputValut=inputValut.substring(1,inputValut.length-1);

}

$("#fileName"+experIndex).val(inputValut);

//处理删除文件后的数量限制

    var stats=swfu[experIndex].getStats();

   stats.successful_uploads--;

   swfu[experIndex].setStats(stats);

 if(stats.successful_upload<1){

swfu[experIndex].setButtonImageURL("/img/continue_upload.png");//换背景

swfu[experIndex].setButtonCursor(SWFUpload.CURSOR.HAND);//鼠标属性

swfu[experIndex].setButtonDisabled(false);

}else if(stats.successful_upload>=1 && stats.successful_upload<=2){

swfu[experIndex].setButtonImageURL("/img/continue_upload.png");//换背景

swfu[experIndex].setButtonCursor(SWFUpload.CURSOR.HAND);//鼠标属性

swfu[experIndex].setButtonDisabled(false);

}  

alert("删除成功");

}else{

alert("删除失败");

}

});

})

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    SWFupload

    SWFupload是一个经典的文件上传组件,它利用JavaScript和Flash技术,为用户提供了一种高效、便捷的多文件上传功能。在Web应用中,尤其是在处理大量用户文件上传时,SWFupload的出现极大地改善了用户体验,避免了传统...

    swfupload flash上传兼容所有浏览器

    SWFUpload 是一款开源的Flash上传组件,它在过去的网页开发中被广泛使用,尤其在应对多文件上传和处理大文件上传时具有显著优势。它的核心功能是利用Flash技术实现跨浏览器的文件上传,即便是在那些不支持HTML5的旧...

    大名鼎鼎SWFUpload- Flash+JS 上传

    什么是SWFUpload?  SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而超越传统标签的文件上传模式。 [编辑本段]SWFUpload的...

    swfupload asp版 asp上传大文件,批里上传

    SWFUpload 是一个开源的JavaScript库,用于在网页上实现高级的文件上传功能。它尤其适合处理大文件和批量上传,提供了用户友好的界面,包括进度条显示,从而提升了用户体验。在ASP环境中,SWFUpload 可以很好地解决...

    swfupload多文件上传带进度条实例

    **SWFUpload 多文件上传带进度条实例详解** SWFUpload 是一款开源的JavaScript库,专门用于在网页上实现文件的多选上传,并且支持显示上传进度条,为用户提供更好的交互体验。在这个实例中,我们将探讨如何在VS2012...

    swfupload上传demo示例

    SwfUpload 是一款经典的Flash基于的文件上传组件,它允许用户在网页中实现多文件同时上传的功能。在本文中,我们将深入探讨SwfUpload的工作原理、如何与ThinkPHP框架结合使用,以及如何处理配置和SQL文件。 ...

    mvc下swfupload实例

    **SwfUpload 知识点详解** SwfUpload 是一个流行的JavaScript库,它允许在Web应用程序中实现高级的文件上传功能。它通过Flash插件在后台处理大文件上传,提供了多文件选择、进度条显示、预览图片等功能,极大地提升...

    SwfUpload(文件批量上传,完美运行,注释丰富)

    SwfUpload 是一款开源的JavaScript库,用于实现文件的批量上传功能。它通过Flash插件在Web页面上提供用户友好的界面,允许用户选择多个文件并一次性上传,极大地提升了文件上传的效率。在这个项目中,"完美运行"指的...

    SWFUpload_V2.2.0

    SWFUpload 是一款开源的JavaScript库,主要用于在网页上实现多文件上传功能。这个库以其高效、稳定和灵活的特点在Web开发中得到了广泛的应用。在SWFUpload_V2.2.0版本中,它提供了更加强大的上传能力,并且对用户...

    swfupload实例]SWFUpload_java实例.doc

    ### SWFUpload与Java实例详解 #### SWFUpload概述 SWFUpload是一个强大的Flash和JavaScript组件,用于实现浏览器上的多文件无刷新上传功能。通过利用Flash技术,它能够跨浏览器和平台提供一致的用户体验,同时提供...

    swfupload网友修改版

    SWFUpload是一款经典的JavaScript与Flash混合的文件上传组件,它允许用户在网页上实现多文件选择上传,并且具有预览、进度条显示等高级功能。这个"swfupload网友修改版"很可能是在原版基础上进行了一些优化或者定制...

    SwfUpload 多文件上传

    SwfUpload 是一款开源的Flash上传组件,它允许用户在网页上实现多文件上传功能,尤其适用于需要大文件上传或批量上传的场景。这个技术在Web开发中被广泛应用,因为它可以提供比传统HTML表单上传更好的用户体验。...

    SwfUpload文件上传demo

    SwfUpload 是一个开源的JavaScript库,用于在Web应用程序中实现多文件上传功能。它结合了Flash技术,能够在不支持HTML5的浏览器上提供高级的文件上传体验。在这个"SwfUpload文件上传demo"中,我们可以深入理解...

    Asp.Net SWFUpload多文件上传;KindEditor富文本框用户控件

    SWFUpload和KindEditor就是两种常见的解决方案,它们可以极大地提升网站的交互性和功能性。 首先,我们来详细了解一下SWFUpload。SWFUpload是一款基于Flash的文件上传组件,它能够提供异步的、多文件选择和上传的...

    swfUpload最新版本2.5 swf + js + example

    **SWFUpload 知识点详解** SWFUpload 是一个流行的JavaScript库,它允许在Web应用程序中实现高级的文件上传功能。这个库以其强大的Flash与JavaScript整合能力而著名,为用户提供了多文件批量选择和上传的功能。在...

    swfupload --forms改版

    **SWFUpload -- Forms 改版详解** SWFUpload 是一款经典的JavaScript库,它允许网页在不离开页面的情况下实现文件上传功能,尤其适用于大文件上传和多文件选择。"swfupload --forms改版"指的是对原SWFUpload库进行...

    SwfUpload的用法Demo

    SwfUpload是一款强大的JavaScript库,它允许在网页中实现Flash上传功能,尤其适用于处理大量文件上传或需要进行预上传处理的场景。这个“SwfUpload的用法Demo”压缩包虽然不包含SwfUpload的核心文件,但我们可以从其...

    SWFUpload批量上传图片

    SWFUpload是一款强大的JavaScript与Flash相结合的文件上传组件,它被广泛用于网页中的批量图片上传功能。这个"SWFUpload批量上传图片"的项目是一个基于MyEclipse的工程实例,旨在帮助开发者理解和实现批量上传图片的...

Global site tag (gtag.js) - Google Analytics