swfupload文件上传
1. swfupload 上传以后 文件到哪去了
swf有一个定义好的回调函数方法:
upload_success_handler:uploadSuccess,
//自己定义一个名字为uploadSuccess的函数即可被调用
//例如
functionuploadSuccess(file,serverData){
varprogress=newFileProgress(file,this.customSettings.progressTarget);
progress.setComplete();
progress.setStatus(serverData+"图片已上传完成.");
progress.toggleCancel(false);
//serverData即是回传回来的图片名称
}
2. SWFUpload上传组件在页面上显示上传的文件名
在process.js 或者fileprocess.js中
里面有类似下面的代码
var progressText = document.createElement("span");
progressText.className = "fileName";
progressText.appendChild(document.createTextNode(this.fomatFileName(file.name)));
你全局搜索一下file.name很容易找到的
3. swfupload上传文件成功了,可是怎么取得上传后的文件名
上传完了之后点击一个submit按钮提交,所有的值获取是根据<input name="xx" id="oo" value="123"/>里面的name=xx来获取的,跟id无关,另外请检查input是否在<form>中,否则无法自动提交到后台
4. 用SWFUpload上传多个文件时怎么获取上传文件的个数
SWFUpload是一个基于flash与javascript的客户端文件上传组件。
handlers.js文件完成文件入列队(fileQueued) →完成选择文件(fileDialogComplete) → 开始上传文件(uploadStart) → 上传处理(uploadProgress) → 上传成功(uploadSuccess) → 上传完成(uploadComplete) →列队完成(queueComplete)
如上所示,单选文件顺序执行以上回调函数,需要注意的是选择多个文件,fileQueued、queueComplete只会执行一次,而fileDialogComplet...→ uploadComplete每个文件都执行一次。
5. SWFUpload 上传任意文件类型如何设置
上传类型可以用 *.* 或者就一个*。
(大小限制,我试试,没用过那么大的。)
试过了,可以传1G的;文档里的意思是没有大小限制(当然,只是在浏览器端,不是在服务器端)。
--------
//创建SWFUpload的实例时,加入参数
file_size_limit : "1024MB",//设置文件大小限制
file_types : "*.*;",//设置文件类型
6. jquery 1.11 怎么用swfupload插件实现文件上传
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<metahttp-equiv='Content-Type'content='text/html;charset=utf-8'/>
<title>Fileupload</title>
<linkrel="Stylesheet"href="js/Plug-in/jquery.uploadify/uploadify.css"/>
<scripttype="text/javascript"src="js/Plug-in/jquery.uploadify/jquery-1.3.2.min.js"></script>
<scripttype="text/javascript"src="js/Plug-in/jquery.uploadify/swfobject.js"></script>
<scripttype="text/javascript"src="js/Plug-in/jquery.uploadify/jquery.uploadify.v2.1.0.min.js"></script>
<scripttype="text/javascript">
$(document).ready(function(){
$("#uploadify").uploadify({
'uploader':'js/Plug-in/jquery.uploadify/uploadify.swf',
'script':'uploadify.php',
'cancelImg':'js/Plug-in/jquery.uploadify/cancel.png',
'folder':'uploadfile',
'queueID':'fileQueue',
'auto':false,
'multi':true,
});
});
</script>
</head>
<body>
MAX:20M
</BR>
<inputtype="file"name="uploadify"id="uploadify"/>
<ahref="javascript:$('#uploadify').uploadifyUpload()">Upload</a>|<ahref="javascript:$('#uploadify').uploadifyClearQueue()">cancel</a>
<divid="fileQueue"></div>
</body>
</html>
#uploadify.php
<?php
/*
Uploadifyv2.1.0
ReleaseDate:August24,2009
Copyright(c)2009RonnieGarcia,TravisNickels
Permissionisherebygranted,freeofcharge,toanypersonobtaininga
(the"Software"),todeal
,
touse,,modify,merge,publish,distribute,sublicense,and/orsell
copiesoftheSoftware,
furnishedtodoso,:
.
THESOFTWAREISPROVIDED"ASIS",WITHOUTWARRANTYOFANYKIND,EXPRESSOR
IMPLIED,,
.INNOEVENTSHALLTHE
,DAMAGESOROTHER
LIABILITY,WHETHERINANACTIONOFCONTRACT,TORTOROTHERWISE,ARISINGFROM,
THESOFTWARE.
*/
if(!empty($_FILES)){
$tempFile=$_FILES['Filedata']['tmp_name'];
$targetPath=$_SERVER['DOCUMENT_ROOT'].$_REQUEST['folder'].'/';
$targetFile=str_replace('//','/',$targetPath).$_FILES['Filedata']['name'];
$targetFile=iconv("utf-8","gbk",$targetFile);
//$fileTypes=str_replace('*.','',$_REQUEST['fileext']);
//$fileTypes=str_replace(';','|',$fileTypes);
//$typesArray=split('|',$fileTypes);
//$fileParts=pathinfo($_FILES['Filedata']['name']);
//if(in_array($fileParts['extension'],$typesArray)){
//'texist
//mkdir(str_replace('//','/',$targetPath),0755,true);
move_uploaded_file($tempFile,$targetFile);
echo"1";
//}else{
// echo'Invalidfiletype.';
//}
}
?>
7. swfupload上传控件在firefox下选择文件后无法上传成功(不发送上传文件的请求)
在IE下一切运行都OK,在firefox下死活不成功,折腾了大半天。上google一查,说是firefox重新开了个session导致,因此url里加入jsessionid一切搞定。代码如下:
var swfu = new SWFUpload({
button_image_url : "<%=path%>plugins/swfupload/img/upload.png",//指向图片按钮的位置
button_placeholder_id : "spanButtonPlaceholder",//该按钮的ID名字
button_width: 61,//按钮的宽度
button_height: 22,//按钮的高度
//button_text : '选择文件',//按钮中的文字
flash_url : "<%=path%>plugins/swfupload/swfupload.swf" ,//指向FLASH文件的位置
upload_url: "<%=path%>upload.action;jsessionid=<%=request.getSession().getId()%>",//指向web项目下的名为upload的action
file_post_name:"Filedata",
post_params:{"filePath":"upload"},
upload_complete_handler:uploadComplete,//用于处理文件上传结束的事件
file_dialog_complete_handler : fileDialogComplete,//用于处理选择文件后触发的事件
file_queued_handler : fileQueued,//用于处理选择文件后触发的事件
upload_error_handler:uploadError,//用于处理上传失败触发的事件
upload_success_handler:uploadSuccess,//用于处理上传成功触发的事件
upload_start_handler:function(file){
//alert(file.name);
swfu.addPostParam("fileName",file.name);
}
});
8. swfupload如何在input页面取得 上传后的文件路径
filedata
9. 关于swfupload获取上传文件路径的问题
前台js代码中设置文件路径'folder': filePath,
后台获取该路径。
c#举列如下:
获取路径:
string uploadPath = HttpContext.Current.Server.MapPath(@context.Request["folder"]);
获取文件对象:
HttpPostedFile file = context.Request.Files["Filedata"];