discuz中的SWFUpload使用的也就是知名的SWFUpload插件,不过好像做了一些自定义的功能。
在这我就直接说discuz中SWFUpload的使用:
显示文件PHP代码:
require_once libfile(‘function/upload’);
$swfconfig = getuploadconfig($_G['uid'], 0, false);
html代码:
<span id=”spanButtonPlaceholder”></span>
<script type=”text/javascript” src=”{$_G[setting][jspath]}upload.js?{VERHASH}”></script>
<script type=”text/javascript” >
var upload = new SWFUpload({
// Backend Settings
upload_url: “{$_G[siteurl]}train.php?mod=swfupload&ac=work”,//上传后台处理网址
post_params: {“uid” : “$_G[uid]“, “hash”:”$swfconfig[hash]“,”lid”:”$lid”},//传递参数// File Upload Settings
file_size_limit : “$swfconfig[max]“, // 100MB
file_types : “$swfconfig[imageexts][ext]“,
file_types_description : “$swfconfig[imageexts][depict]“,
file_upload_limit : 0,
file_queue_limit : 0,// Event Handler Settings (all my handlers are in the Handler.js file)
swfupload_preload_handler : preLoad,
swfupload_load_failed_handler : loadFailed,
file_dialog_start_handler : fileDialogStart,
file_queued_handler : fileQueued,
file_queue_error_handler : fileQueueError,
file_dialog_complete_handler : fileDialogComplete,
upload_start_handler : uploadStart,
upload_progress_handler : uploadProgress,
upload_error_handler : uploadError,
upload_success_handler : trainUploadSuccess,//上传成功后的处理函数
upload_complete_handler : uploadComplete,// Button Settings
button_image_url : “{IMGDIR}/uploadbutton.png”,//该背景图片必须是一个sprite图片,从上到下包含了Flash按钮的正常、鼠标悬停、按下、禁用这四种状态。因此该图片的高度应该是Flash按钮高度的四倍
button_placeholder_id : “spanButtonPlaceholder”,
button_width: 134,
button_height: 42,
button_cursor:SWFUpload.CURSOR.HAND,
button_window_mode: “transparent”,custom_settings : {
progressTarget : “imgUploadProgress”,
uploadSource: ‘train’,//自定义参数
uploadType: ‘work’,//自定义参数
imgBoxObj: $(‘imgattachlist’)
//thumbnail_height: 400,
//thumbnail_width: 400,
//thumbnail_quality: 100
},// Debug Settings
debug: true
});
function trainUploadSuccess(file, serverData) {//单个文件处理函数,如果是多个请按照{$_G[setting][jspath]}upload.js的uploadSuccess进行编写
var data = eval(‘(‘+serverData+’)');
if(parseInt(data.wid)) {
showDialog(‘上传成功,将跳转作业页面’, ‘right’, ‘提示信息’, function(){window.location.href = ‘train.php?mod=work&wid=’+data.wid;}, 0, null, ”, ”, ”, ”, 3);
}else{
showDialog(‘上传失败,错误代码为:’+data.errorcode+’。请联系客服QQ:{$train_plugin[qq]}!’, ‘error’, ‘错误信息’);
}}
</script>
php处理程序:
$_G['uid'] = intval($_POST['uid']);
if((empty($_G['uid']) && $_GET['ac'] != ‘upload’) || $_POST['hash'] != md5(substr(md5($_G['config']['security']['authkey']), 8).$_G['uid'])) {
exit();
} else {//处理上传的文件
$_FILES["Filedata"]['name'] = addslashes(diconv(urldecode($_FILES["Filedata"]['name']), ‘UTF-8′));//编码转换
//处理$_FILES["Filedata"]
echo “{\”picid\”:\”0\”, \”url\”:\”0\”, \”bigimg\”:\”0\”, \”errorcode\”:$errorcode}”;//输出内容,用于js处理调用
相关推荐
总的来说,这个自定义控件为.NET开发者提供了一种高效、简洁的方式来集成SWFUpload,降低了多文件上传功能的实现难度,同时也为二次开发和自定义功能提供了可能。通过研究和使用提供的C#源码,开发者可以深入理解...
SWFUpload是一款开源的JavaScript和Flash相结合的上传组件,它允许用户在网页上实现批量、多文件选择上传的功能,同时提供了丰富的自定义选项和事件处理机制,使得开发者可以轻松地集成到自己的网站中。在2.2.0版本...
提供的压缩包“swf资料包和使用实例”中应该包含SWFUpload的JavaScript库、Flash对象、示例代码和可能的配置文件。你可以按照以下步骤使用: 1. **引入资源**:在HTML页面中引入SWFUpload的JavaScript和Flash对象。...
在压缩包中的SWFUpload文件,可能是该组件的源代码或者预编译版本,供开发者研究和定制。你可以通过查看源码了解其内部处理逻辑,找出可能导致乱码的环节,并进行修改。如果遇到具体问题,可以参考SWFUpload的官方...
在压缩包中的`swfpsetup.exe`文件可能是SWFUpload的安装程序或者示例程序,用于帮助开发者快速了解和部署SWFUpload。在实际应用中,开发者需要结合自身项目需求,根据SWFUpload的文档和示例代码进行定制化开发。 ...
SWFUpload 是一款开源的Flash上传组件,它在过去的网页开发中被广泛使用,尤其在应对多文件上传和处理大文件上传时具有显著优势。它的核心功能是利用Flash技术实现跨浏览器的文件上传,即便是在那些不支持HTML5的旧...
在描述中提到的实例链接,是一个2008年的博客文章,展示了如何在实际项目中集成和使用SWFupload。虽然这个链接可能已经过期,但通过它我们可以了解到,当时的开发者社区已经开始积极探索和实践这种先进的上传技术。 ...
3. **API与事件**:SWFUpload提供了丰富的JavaScript API接口和事件,如`uploadStart`、`uploadSuccess`、`uploadError`等,允许开发者根据需要对上传过程进行精确控制和自定义处理。 4. **中文汉化**:v2.2.0版本...
在Mvc3中设置SwfUpload,首先需要在项目中引入SwfUpload的JavaScript和Flash文件。通常,这些文件会包含在压缩包的"swf"目录下,如`swfupload.swf`是Flash组件,`swfupload.js`是JavaScript接口。然后,在视图(View...
总之,SWFUpload v2.2.0.1作为一款多文件上传解决方案,通过提供高级特性如分块上传、进度反馈和自定义功能,极大地提升了Web应用中文件上传的效率和用户体验。对于需要高效文件管理功能的开发者来说,SWFUpload是一...
所有这些事件都可以在一个SWFUpload实体中被调用,这意味着在这些事件对应的函数中,你可以用 this 关键字来代替引用SWFUpload实体。 + fileDialogComplete (number of files selected) - 触发条件 1. 用户...
- **事件绑定**:SWFUpload提供了丰富的事件接口,如文件选择、文件上传开始、上传进度、上传成功和上传失败等,开发者可以监听这些事件以实现自定义的反馈和操作。 - **上传操作**:用户在前端选择文件后,...
5. **样例代码**:"SWFUpload v2.2.0.1 Samples.zip"包含了实际的示例项目,这些示例展示了如何在实际环境中使用SWFUpload,是学习和调试的良好资源。 6. **SWFUpload中文教程.pdf**和**SWFUpload中文版手册.pdf**...
2. **文件选择**:用户在对话框中选择文件后,SWFUpload会调用服务器端的上传处理脚本。 3. **上传进度**:SWFUpload可以显示每个文件的上传进度,这得益于Flash提供了进度信息。 4. **后端处理**:PHP脚本接收到...
在JavaScript层面,SWFUpload提供了丰富的API接口,允许开发者自定义上传过程中的各种事件处理,如文件选择后的预处理、文件上传前的回调、上传过程中的进度更新、上传成功或失败后的处理等。开发者可以通过这些API...
3. **编写HTML和JavaScript代码**:在HTML页面中创建上传区域,通过JavaScript调用SWFUpload的方法初始化上传组件,设置上传参数,如服务器端处理脚本地址、文件类型限制等。 4. **服务器端处理**:SWFUpload将文件...
- **引入资源**:将SwfUpload库的JavaScript和Flash文件添加到网页中。 - **初始化设置**:配置SwfUpload对象,如设置服务器URL、文件类型限制、最大上传文件大小等。 - **创建上传按钮**:使用JavaScript代码...
SWFUpload 提供了一系列的事件和方法,使得开发者可以自定义上传过程中的行为。 ### 2. 安装与配置 首先,你需要从官方或者可靠的来源获取SWFUpload的最新版本。下载后,将SWFUpload的JavaScript文件和Flash对象...
7. **自定义UI**:SWFUpload 允许开发者定制上传按钮和上传界面,以符合网站的整体风格。 **三、SWFUpload 的集成与配置** 集成SWFUpload需要以下步骤: 1. **引入库文件**:在HTML文件中,你需要添加SWFUpload的...