本文档部分API缺少示例代码,诚挚的邀请你参与到示例代码的编写中来,你可以在代码中发布2行自定义注释,内容自拟。 有意者可与刺鸟联系(QQ:4041990 Q群:7702175)

API简介

uexUploaderMgr文件上传管理接口API。

接口说明

方法说明
uexUploaderMgr.  createUploader (inOpCode,inTargetAddress) 创建一个上传对象
uexUploaderMgr.  uploadFile (inOpCode,inFilePath,inInputName,inCompress,inWidthLimit) 文件上传
uexUploaderMgr.  closeUploader (inOpCode) 关闭上传对象。
uexUploaderMgr.  cbCreateUploader (opId,dataType,data) uexUploaderMgr.createUploader的回调方法。
uexUploaderMgr.  onStatus (opId,fileSize,percent,serverResponse,status) uexUploaderMgr.uploadFile的回调方法。
 createUploader (inOpCode,inTargetAddress)  
参数名称描述
inOpCode操作id(整型)。
inTargetAddress上传的服务器地址。
 uploadFile (inOpCode,inFilePath,inInputName,inCompress,inWidthLimit)  
参数名称描述
inOpCode操作id(整型)
inFilePath文件路径
inInputName页面当中input标签的name属性
inCompress如果上传的是图片,该参数表示按质量压缩的压缩级别,png无效。 0:不压缩。既不压缩尺寸也不压缩质量 1:一级压缩。100%,只压缩图片尺寸,不压缩图片质量 2:二级压缩。75% 3:三级压缩。50% 4:四级压缩。25% 级别越高,压缩后的文件越小
inWidthLimit如果上传的是图片,该参数表示按尺寸压缩的最大宽度。该宽度表示图片压缩的宽度限制,默认是640像素。当图片的宽度超过该宽度就会压缩成该宽度的图片,高度会等比压缩。
 closeUploader (inOpCode)  
参数名称描述
inOpCode操作id(整型)
 cbCreateUploader (opId,dataType,data)  
参数名称描述
opId操作ID。
dataType返回数据的数据类型为uex.cInt(值为2)。
data返回的int型的数据,0代表成功或1代表失败。
 onStatus (opId,fileSize,percent,serverResponse,status)  
参数名称描述
opId操作ID。
fileSize文件的大小。
percent上传文件的百分比。
serverResponse服务器返回的数据。
status上传的状态。详见 Upload Status。
 <html>
 <head>
 <title>AppCan API uexUploaderMgr</title>
 <meta charset="utf-8">
 </head>
 <body style="background:#fff;font-size:30px;">
 <span>选择文件</span><br/>
 <input type="button" value="Open" onclick="getFile()"/><br/>
 <span>上传</span><br/>
 <input type="button" value="Upload" onclick="upload()"/><br/>
 <span>进度</span><br/>
 <input type="text" id="percent" value="0%"/>
 </body>
 <script>
 // 本代码由寒暄提供,如有bug请和寒暄联系(QQ:457696322 Q群:7702175)
 var file = '',opId = 100;
 //选择上传文件
 function getFile(){
   uexFileMgr.cbExplorer = function(opId,dataType,data){
     if(dataType == 0){
       file = data;
       alert('选择了文件'+file);
     }
   }
   uexFileMgr.explorer('');
 }
 //创建上传对象回调
 function cbCreateUploader(opId,dataType,data){
     alert(opId+'创建上传对象结果='+data);
   if(dataType == 2 && data==0){
     //上传文件到服务器
     uexUploaderMgr.uploadFile(opId,file,'fileName','1');
   }
 }
 //上传文件回调函数
 function onStatus(opId,fileSize, percent,serverResponse,status){
   switch(status) {
     case 0:
       document.getElementById('percent').value = percent+"%";
       break;
     case 1:
       alert("以下内容为服务端echo输出的字符串"+serverResponse);
       uexUploaderMgr.closeUploader(opId);
       break;
     case 2:
       alert("上传失败!");
       uexUploaderMgr.closeUploader(opId);
       break;
     default: 
       break;
   }
 }
 //创建一个上传对象
 function upload(){
     opId++;
     uexUploaderMgr.cbCreateUploader = cbCreateUploader;
     uexUploaderMgr.onStatus = onStatus;
    uexUploaderMgr.createUploader(opId,'http://www.ciniao.me/appcan/demo/upload.php');
 }
 </script>
 </html>


upload.php源代码:

<?php
echo "\n======file info from server======\n". json_encode($_FILES);
?>