• js插件---WebUploader 如何接收服务端返回的数据


    js插件---WebUploader 如何接收服务端返回的数据

    一、总结

    一句话总结:

    uploadSuccess有两个参数,一个是file(上传的文件信息),一个是response(服务器返回的信息)
    uploader.on( 'uploadSuccess', function( file,response ) {
      console.log(file);
      console.log(response);
      $( '#'+file.id ).find('p.state').text('已上传');
    });

    二、WebUploader 接收服务端返回的数据

    转自或参考:WebUploader 接收服务端返回的数据
    https://blog.csdn.net/u010865136/article/details/80590002

     

    **上传文件成功两部曲**

    1、通过WebUploade插件 获取上传文件的信息数据并传参给服务端程序,为WebUploader意义上的上传文件成功;

    2、通过服务端程序 将文件保存到指定路径和文件信息入库,为最终的上传文件成功;

    一、遇到的问题

    上传简历时,上传文件成功两部曲第二步骤中解析文件入库时,解析文件失败,导致上传文件失败,上传文件时需要提示对应的error信息。

    二、解决

    ******WebUploader官方文档*******

    1、上传文件成功两部曲第一步骤,WebUploader意义上的上传文件成功和失败的情况下需要提示对应信息,如上传文件的格式、大小等不符合定义条件,则提示对应信息;

    2、上传文件成功两部曲第一步骤,文件解析入库时的上传文件的成功和失败的情况下需要提示对应信息,如文件数据无法正常解析、文件信息入库失败等,需要提示对应信息;

    测试代码:

    // 初始化Web Uploader
    uploader = WebUploader.create({
        // 自动上传。
    auto: true,
    duplicate: false,
    resize: false,
    // swf文件路径
    swf: '../widget/webuploader/Uploader.swf',
    // 文件接收服务端。
    server: '../cv/uploadTempCv.htm',// 内部根据当前运行是创建,可能是input元素,也可能是flash.
    pick: '#picker',
    threads: 5,
    chunked: true,
    //fileType:'doc,docx,pdf,txt,html,htm',
    fileNumLimit: 5,
    accept: {
            title: 'intoTypes',
    extensions: 'doc,docx,pdf,txt,html,htm',
    mimeTypes: '.doc,.docx,.pdf,.txt,.html,.htm'
    }
    });
    uploader.on('error', function(handler) {
        if(handler=="Q_EXCEED_NUM_LIMIT"){
            parent.messageParent("超出最大文件数");
    }
        if(handler=="F_DUPLICATE"){
            parent.messageParent("文件重复");
    }
    });
    // 文件上传过程中创建进度条实时显示。
    uploader.on( 'uploadProgress', function( file, percentage ) {
      mask();
    });
    uploader.on( 'uploadError', function( file, reason ) {
        parent.messageParent(file.name+"上传失败");
    });
    uploader.on( 'uploadComplete', function( file ) {
        var stats = uploader.getStats();
    if(stats.progressNum==0){
            setTimeout("window.parent.delRefersh("upload")",2000);
    // window.parent.delRefersh("upload");
    }
    });
    uploader.on( 'uploadSuccess', function( file,response ) {
        console.log(file);
    console.log(response._raw);
    console.log(response._raw.err);
    if(response.err != '')
        {
            console.log(response.err.split(",")[2]);
    var responseArr = response.err.split(",");
    var msg = responseArr[2] + "上传失败,文件数据无法正确解析"message(msg);
    }
    
        // $( '#'+file.id ).addClass('upload-state-done');
    });

     
  • 相关阅读:
    Windbg DUMP
    NET媒体文件操作组件TagLib
    NET Framework、.NET Core、Xamarin
    面向切面编程
    微服务
    NET Core
    Yeoman generator
    Service Fabric
    Vue.JS 2.x
    CoreCLR
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/11603692.html
Copyright © 2020-2023  润新知