有思俱乐部学习园地

文件上传

HTML5上传流程:

/**
 * html5上传文件函数,
 * 可另外写一个函数封装为其他开发者也能上传的函数,需要多加2个参数,服务器文件名,已经上传大小
 * 
 * @param url 必填! 上传地址  
 * @param file 必填! 上传文件对象,非input,是input里面的问题件 
 * @param callback  必填!  上传成功回调,其值为文件对象file。里面有  
                  返回值为文件对象,其值在file.fileServerName中。
                形如:文件md5码 fileHash: "8a4e8d737b1514414e84c3428fceaffc"
                      文件服务器名 fileServerName: "0c66a100-568e-11ec-bd9b-a7f8f2b18a24.txt"
                      文件名: name: "文件.txt"
                      文件大小 size: 57
                      文件类型 type: "text/plain"
 * @param md5callback  非必填项!  
 *                md5验证进度条回调,上传大文件做md5验证进度条,  分片大小为2M
 *    其取值如下:{ 'Loaded': currentChunk, 'Total': chunks } 共有多少分片,当前解析到哪一个分片
 *                { 'Loaded': "success", 'Total': 100 }     全部完成
 *                { 'Loaded': "error", 'Total': 'oops, something went wrong.' }  如果Loaded为error,表示发生错误,错误信息放置在Total中。
 * @param upprogresscallback  非必填项!
 *                     上传进度条回调,上传大文件做文件上传进度条用。 分片大小为500kb
 *                     否则,progress为进度条{ 'Loaded': currentChunk, 'Total': chunks }
 *                     上传成功后的返回值为{ 'Loaded': "success", 'Total': chunks }。
 */
函数原型:U.UF.UP.HTML5.upload (url, file, callback, md5callback, upprogresscallback);
函数调用方法:
  U.UF.UP.HTML5.upload("http://upload.1473.cn/upload", _uploadInput.files[0], 
        function (r) {
            U.Alert("上传成功");
            $("#H5")[0].innerHTML += "文件地址:" + "http://fs.1473.cn/" + r.fileServerName;
            //如需要生成缩略图,则调用
        }, 
        function (r) { 
            alert("md5:" + r.Loaded); 
        }, 
        function (r) { 
           alert("上传进度条:" + r.Loaded); 
        }
  );

            

h5运行实例:

点击以下进行文件上传测试,后台响应的地址是,编辑器的上传地址

运行结果展示区域:

HTML上传接口:

文件上传
U.UF.UP.HTML.upload(array arr,string str,function fun,array arrcb);
参数一(必填):所需要上传的input。
参数二(必填):上传服务器相应地址,允许带参数;例如:"http://disk.1473.cn/USUpfile.ashx?typename=UseStudioEditor&UserId=+ 在1473的开发者ID "。(在其他项目中调用时需要考虑修改关键字"UseStudioEditor"为"uploadFiles")
   1473使用的后台服务器上传地址为:
     1、硬盘上传地址:http://disk.1473.cn/USUpfile.ashx?typename=UploadFlashfile&UserId=FA92AAC5-4134-449F-9659-0DC12F4F68E9  (此函数在c.1473.cn中调用无效,在disk.1473.cn中使用此方法需要传递目录id)
      注释:其他上传(如其他网站上传,或者c.1473.cn等上传)都上传到硬盘,在硬盘的临时目录,临时视频,临时图片中。在main.js中有临时目录的变量,在disk中有临时目录的函数处理。为了简便,后续全部归一        
     2、编辑器上传地址:http://disk.1473.cn/USUpfile.ashx?typename=UseStudioEditor&UserId=FA92AAC5-4134-449F-9659-0DC12F4F68E9
          FA92AAC5-4134-449F-9659-0DC12F4F68E9是一个用户id  此账号在云端中的用户名:root999,密码:123456,可登录查看到上传的文件。
      注释:其他上传(如其他网站上传,或者c.1473.cn等上传)都上传到硬盘,在硬盘的临时目录,临时视频,临时图片中。在main.js中有临时目录的变量,在disk中有临时目录的函数处理。为了简便,后续全部归一    
     3、背景图片上传地址:http://disk.1473.cn/USUpfile.ashx?typename=UploadWallpaper
     4、用户头像上传地址:http://disk.1473.cn/USUpfile.ashx?typename=UploadHeadImage
     5、身份证上传地址:http://disk.1473.cn/USUpfile.ashx?typename=IDCardImage
     6、后台上传系统背景:http://disk.1473.cn/USUpfile.ashx?typename=UploadSystemBG
   非1473用户上传时,需要把此参数设置为自己的上传后台处理文件。
     例如:http://www.123.com/upload.servlet
参数三(选填):回调函数。
参数四(选填):回调函数的参数。
上下文(上一个函数与下一个函数的联系):    
    r.context 回调函数的参数。上下文之间的传参,同第四个参数。
返回值说明:
    由开发者定义:例如:可以定义为数组,格式如下:
    array [文件在服务器的路径, 缩略图的路径, 文件id, 文件大小, 文件对应群, 文件目录id]

注释:其他上传(如其他网站上传,或者c.1473.cn等上传)都上传到硬盘,在硬盘的临时目录,临时视频,临时图片中。在main.js中有临时目录的变量,在disk中有临时目录的函数处理。为了简便,后续考虑全部归一

参数二补充说明: 开发者ID: 用户登录后返回的用户id 登录1473后,在控制台输入US.userinfo.UserId 就可以看到自己的id js代码规范需遵循项目开发规范,此处为示例故从简。
    此处示例开发者ID为"fa92aac5-4134-449f-9659-0dc12f4f68e9"即: http://disk.1473.cn/USUpfile.ashx?typename=UseStudioEditor&UserId=fa92aac5-4134-449f-9659-0dc12f4f68e9

上传代码


U.UF.UP.HTML.upload([$("#files")[0]], "http://disk.1473.cn/USUpfile.ashx?typename=UseStudioEditor&UserId=c1fd0834-ea9a-44eb-b216-2a051c2240d8", function (r) {
            $("#resultarea")[0].innerHTML = r.value;
            $("#resultarea")[0].innerHTML += "";
            $("#resultarea")[0].innerHTML += "文件地址:" + "http://fs.1473.cn/" + r.value[0];
        }, []);
     

运行实例:

点击以下进行文件上传测试,后台响应的地址是,编辑器的上传地址

运行结果展示区域:

flash上传:

U.UF.UP.FLASH.addUploadBottom = function (el, name, style, callback, uploadtype) 
//@param  {element} flash对象要放置的地方
//@param  {string} flash对象名字
//@param  {object} flash按钮的样式 {"width":"100", "height":"100"}
//@param  {object} flash按钮上传的回调函数的处理 {}
//      "error": "U.UF.UP.error", //错误处理
//		"select": "U.UF.UP.select",  //选择文件处理
//		"getHashCallBack": "U.MD.UI.FLASH.getHashCallBack", //上传解析文件的处理
//		"progress": "U.UF.UP.progress",  //解析文件md5值,和上传文件的时候的进度条处理
//		"uploadComplete": "U.UF.UP.uploadComplete",  //上传结束的处理,这个时候还没有返回值
//		"getData": "U.UF.UP.getData",  //上传结束后服务器返回的值
//		"endUpload": "U.UF.UP.endUpload", //上传结束处理
            

运行结果展示区域:

flash运行实例:

点击以下进行文件上传测试,后台响应的地址是,编辑器的上传地址

上传

工作人员

 
作者:柏洋
信息录入:柏洋