zoukankan      html  css  js  c++  java
  • layui+oss阿里云附件上传回调报错问题

    新的广告系统,

    采用客户端直接上传到阿里云,阿里云异步调用服务器的模式(Browser.js

    参考地址:https://www.alibabacloud.com/help/zh/doc-detail/32069.htm?spm=a2c63.p38356.b99.702.5d66219fMXc1Ka

    流程示意:

    碰到问题:

    上传图片提示The callback var is not expecten json

    sts访问口令与参数配置都正确

    删除上传的callback参数也可以上传成功,但是加上此参数就失败。

    原因

    是因为callback里的传递参数必须是字符串类型,如果是int类型就会产生此问题。

    别看原因简单,排查起来可是费了一番功夫。官方文档里暂时也没有看到对此的描述,只有如图下的一个demo

     解决方法

    let data_param = {
    uid : admin_info.uid, //后台操作uid
    app_name: app_name, //业务模块
    app_table: app_table, //业务对应的表名
    attach_type: attach_type, //附件类型,1图片,2视频
    filename: file_name, //文件名称
    filesize: file_size, //文件大小
    file_type: file_type, //文件类型
    file_ext: file_ext, //文件文件后缀
    save_name: save_name, //阿里云的保存名称
    save_path: save_path, //阿里云的保存路径
    all_path : all_path, //阿里云全路径
    is_video_banner: ''+is_video_banner, //是否视屏封面的图片存储
    };
    //all_path表示上传的object name , file表示上传的文件
    client.multipartUpload(all_path, file, {
    progress: async function (p, checkpoint) {
    tempCheckpoint = checkpoint;
    },
    parallel: options.parallel ? options.parallel : 1,
    partSize: options.partSize ? options.partSize : 102400,
    checkpoint: tempCheckpoint,
    mime: file_mime,
    callback: {
    url: setter.callback_api_url + '/admin/CommonOss/callbackFile',
    body: 'bucket=${bucket}&object=${object}&imageInfo.height=${imageInfo.height}&imageInfo.width=${imageInfo.width}&param=${x:param}',
    contentType: 'application/x-www-form-urlencoded',
    customValue:{
    'param': JSON.stringify(data_param)
    }
    },
    })

    本质就是json化,这样的好处一是规避了上边报错问题,二是以后添加参数的时候,不用body里也配置了,省工。
    author:hann
  • 相关阅读:
    Eclipse 控制台视图和服务器视图中停止Web服务器的差别
    JSP中forEach和forTokens循环的用法
    Java中的消息框
    JS弹出div简单样式
    Java中简单提示异常代码的行号,类名等
    Java简单的数据库连接
    Java简单方法批量修改Windows文件夹下的文件名(简单IO使用)
    Java中对文件的序列化和反序列化
    navicat 连接 mysql 出现Client does not support authentication protocol requested by server
    IoC是什么
  • 原文地址:https://www.cnblogs.com/widgetbox/p/12610815.html
Copyright © 2011-2022 走看看