上传文件swfUpload 插件:

基本的文件上传涉及到的四个文件  (还有一个处理数据的php文件  这里没有涉及到)

html页面:

upload_window.html

js文件:

swfupload.js

handlers.js

fileprogress.js

第一:从html页面出发:

重要的是将页面加载时间中的var setting={}这个大对象中的参数设置好  以下都是这个对象里面的常用配置 非常重要

首先需要将swfupload.swf加载

在 var  setting={} 这个大对象里面加flash_url:值

如: flash_url: "$siteurl_static/assets/uc/js/swfupload.swf",

然后需要将上传的路径加入 如: upload_url: "http://load.zom.com/u.do?uploadkey=" + uploadkey + "&ck=" + ck + "&cc=" + cc,(java的上传路径)

相关的设置常用的有:

file_size_limit  (设置上传的大小)    file_types(设置文件上传的类型)file_types_description(设置文件上传描述)

file_upload_limit (设置文件上传的数量限制)file_queue_limit (设置文件队列数量限制)

prevent_swf_caching : false  (在相关的swf文件增加随机参数避免Flash被缓存)

debug:false

按钮的相关配置:

button_width: "200",

button_height: "50",

button_text_left_padding: 16,

button_text_top_padding: 7,

button_cursor:  button_cursor 指定鼠标悬停在Flash按钮上时的光标样式,可用值为SWFUpload.CURSOR里定义的常量。如:button_cursor: SWFUpload.CURSOR.HAND,

button_action(设置只能上传一个文档的限制:--》button_action: SWFUpload.BUTTON_ACTION.SELECT_FILE)

之后就是设置一些事件处理函数  这些都是在  handlers.js 里面相应的函数

file_dialog_start_handler: fileDialogStart,(设置文件对话开始函数)

file_queued_handler: fileQueued,(设置文件队列函数)

file_dialog_complete_handler: fileDialogComplete,(设置文件对话完成处理函数)

file_queue_error_handler: fileQueueError,(设置队列错误处理函数)

upload_start_handler: uploadStart,(设置开始上传函数)

upload_progress_handler: uploadProgress,(设置上传进度处理函数)

upload_error_handler: uploadError,(设置上传错误处理函数)

upload_complete_handler: uploadComplete,(设置上传完成处理函数)

upload_success_handler: uploadSuccess(设置上传成功处理函数)

以上的配置都是在页面自动加载函数的setting大对象里面需要配置的基本参数

除了以上这些还有下面相应的非常关键的配置

别忘记:在setting大对象结束之后 在自动加载函数结束之前还有swfu = new SWFUpload(settings);  实例化一个对象

var setting还有比较重要的配置  如下:

1.关于上传进度的配置是关键:

在var setting={}这个大对象里面设置一个元素:

custom_settings: {

progressTarget: "fsUploadProgress"

},

progressTarget的值(即fsUploadProgress)是文件上传进度的显示 将html里面设置相应的位置放id="fsUploadProgress"

如:

0

span标签里的0就是从0开始进行上传  0就是初始的显示进度

2:关于上传的按钮设置

在 var setting={} 这个大对象里面设置  button_placeholder_id : "spanButtonPlaceHolder"

需要将html相应的上传按钮加上相应的id="spanButtonPlaceHolder"

如:

上传文档

成功上传需要将相应的数据进行处理:

在html页面中需要写ajax进行数据的处理~

如:

//成功后调用

function agree_upload(){

var doc_id=$('.doc_title').attr('id');

if(doc_id>0){

uploadFinish(doc_id);

parent.DOC88Window.close();

}else{

alert('您还未选择重新上传的文档');

}

}

function uploadFinish(new_p_id) {

var old_p_id = "$p_id";

$.ajax({

url: "/ucr/doc.php?act=save_upload",

type: "post",

data: {

old_p_id: old_p_id,

new_p_id: new_p_id

},

dataType: "json",

success: function (msg) {

if (msg.result == 1) {

alert("数据正确");

} else {

alert("数据错误");

}

}

});

}

第二:因为html页面中setting配置中有相应的函数处理配置  涉及到handler.js函数,所以接下来到handler.js文件的处理配置

根据html页面的配置 处理函数的顺序进行相应的配置

首先是fileQueue函数  文件排队函数:

需要设置一个变量 关于flash动画的函数

var stats = swfu.getStats();

根据需要将文件上传队列数量进行限制

if (stats.files_queued > 1) {

alert("您的附件不能超过1个");

return false;

}

接下来是fileQueueError函数  文件排队错误函数:

根据需要将相应的设置放在这个函数里面

可以放在try catch函数里面    设置的限制如下:

switch (errorCode) {

case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:

alert('单个文件大小不要超过50MB');

break;

case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:

alert('不能上传空文件');

this.debug("Error Code: Zero byte file, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);

break;

case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:

alert('文件类型错误');

break;

default:

if (file !== null) {

}

this.debug("Error Code: " + errorCode + ", File name: " + file.name + ", File size: " + file.size + ", Message: " + message);

break;

}

接下来是uploadStart函数  文件上传开始函数:

设置相应的功能按钮的变换  比如上传开始(走到这个函数时 可以将相应的上传按钮改成上传中 并且禁止点击 就是禁用功能 加上一个取消上传按钮 )

可以将上传的文件的名称和文件格式显示出来

如:

$("#upload_doc i").html("上传中");

$('#cancel_upload').html('取消');

$("#upload_doc").attr('disabled','disabled');

var name = file.name;

$('.doc_title').html(name);

var format = file.type;

format = format.toLocaleUpperCase();

format = format.replace('.', '');

$('.doc_format').html(format);

接下来是uploadProgress函数  文件上传进度函数:如:

var percent = Math.ceil((bytesLoaded / bytesTotal) * 100);//上传的进度

var progress = new FileProgress(file, this.customSettings.progressTarget);

progress.setProgress(percent);

progress.setStatus("正在上传");

接下来是uploadSuccess函数  文件上传成功函数

然后是uploadError函数  上传失败函数:

其他相关的函数可以根据需要进行设置

第三:fileprogress.js文件  关于文件上传进度  关键的是:

FileProgress函数的设置:

如:

function FileProgress(file, targetID) {

this.fileProgressID = file.id;

this.fileProgressWrapper = document.getElementById(this.fileProgressID);

if (!this.fileProgressWrapper) {

this.fileProgressWrapper = document.createElement("li");

this.fileProgressWrapper.id = this.fileProgressID;

document.getElementById(targetID).appendChild(this.fileProgressWrapper);

}

this.setTimer(null);

}

FileProgress.prototype.setProgress = function (percentage) {}  里面进度样式的处理

如:

if (percentage <= 5) {

$(".progressbar").addClass('progressbar-5');

} else if (percentage <= 10) {

$(".progressbar").addClass('progressbar-10');

}......

第四:swfupload.js文件    几乎不用修改 可以将不用的函数删减

有很详细的讲解 链接:https://www.cnblogs.com/myboke/p/5579236.html

http://www.runoob.com/w3cnote/swfupload-guide.html

php swfupload handlers.js,SWFUpload 文件上传插件常用的配置讲解相关推荐

  1. ajax 批量上传图片插件,jQuery多文件上传插件jquery.imageuploader.js

    插件描述:jQuery多文件上传插件jquery.imageuploader.js,可以同时上传多个文件并支持拖拽上传 jquery.imageuploader.js 一款jquery多文件上传插件. ...

  2. jQuery 文件上传插件:uploadify、swfupload

    jQuery 文件上传插件: uploadify.swfupload

  3. js插件---IUpload文件上传插件(包括图片)

    js插件---IUpload文件上传插件(包括图片) 一.总结 一句话总结:上传插件找到真正上传位置的代码,这样就可以知道整个上传插件的逻辑了, 找资料还是github+官方 1.如何在js中找到真正 ...

  4. html js文件域val,js实现文件上传表单域美化特效

    一款效果非常时尚的文件上传表单域美化特效,下面给出制作的简要教程. 先上几个效果饱饱眼福: 使用方法 这些文件上传域的美化使用的方法都是隐藏原生的元素,然后使用一个元素来制作美化效果. @H_502_ ...

  5. js如何上传大文件到服务器,js将文件上传到远程服务器

    js将文件上传到远程服务器 内容精选 换一换 将文件上传至Windows云服务器一般会采用MSTSC远程桌面连接的方式.本节为您介绍本地Windows计算机通过远程桌面连接,上传文件至Windows云 ...

  6. php 美化js文件,js实现文件上传表单域美化特效_javascript技巧

    一款效果非常时尚的文件上传表单域美化特效,下面给出制作的简要教程. 先上几个效果饱饱眼福: 使用方法 这些文件上传域的美化使用的方法都是隐藏原生的元素,然后使用一个元素来制作美化效果. HTML结构 ...

  7. php ajaxfileupload.js 使用,ajaxfileupload.js实现文件上传(附步骤代码)

    这次给大家带来ajaxfileupload.js实现文件上传(附步骤代码),ajaxfileupload.js实现文件上传的注意事项有哪些,下面就是实战案例,一起来看一下. AjaxUpLoad.js ...

  8. vue上传zip文件到服务器,vue.js zip文件上传

    vue.js zip文件上传 内容精选 换一换 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助.接口参考文档详细介绍了每个接口的参数和使用方法.在O ...

  9. js判断文件上传的类型

    js判断文件上传的类型 /*** @param: fileName - 文件名称* @param: 数据返回 1) 无后缀匹配 - false* @param: 数据返回 2) 匹配图片 - imag ...

最新文章

  1. 10台客户机打印机文件服务器,Sever-U实现局域网打印机安全共享.doc
  2. 转载:越早明白这四个道理越好!
  3. bigemap中下载边界_高清卫星地图:是可以看到人的地图,附下载方法
  4. Activiti6 use spring-boot-starter-web meet requestMappingHandlerMapping error
  5. Nutanix 以现代化 IT 基础架构推动医共体建设
  6. C# 学生简单管理系统 数据库 1.0版本
  7. uni-app 2.2 发布,大幅度优化 H5 端性能体验 | 技术头条
  8. 码支付系统源码免挂版_免挂码支付系统源码,码支付系统源码,码支付源码全新版
  9. WARNING: The directory '/home/zhex/.cache/pip/http' or its parent directory is not owned by the curr
  10. 数据分析之数据分类了解
  11. 【大话设计模式】——设计模式概论
  12. 404 网站服务器错误怎么解决,网站404错误页面是什么意思,它有什么用?
  13. 有关FLOPS的定义与计算
  14. 300iq Contest 3简要题解
  15. iPhone SE3值得入手吗,如今首批用户的评价新鲜出炉
  16. 基于 javaagent + javassist 一步步实现调用链系统 (2)
  17. 分辨率、码率、帧率、蓝光相关介绍
  18. 移动硬盘变成RAW格式的恢复
  19. 985学校计算机实力排名2015,985大学名单及分档排名分析
  20. 19英寸机柜架尺寸表

热门文章

  1. vue 数据传输加密、加签、数字信封应用
  2. phpstorm2019--设置自动换行
  3. The Shawshank Redemption-6
  4. The Shawshank Redemption-18
  5. 如何长高青春期后 - 两个简单而成功的方法
  6. JavaScript 中的设计模式
  7. OSChina 周六乱弹 —— 女友是啥子哟?生命的最大负载?
  8. Typora如何设置图片的位置更换保存路径
  9. 夫唯不争——世赛网络系统管理赛项小记
  10. 【BSV动态】VXPASS与世卫组织合作为莱索托提供数字疫苗监测服务