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"];