博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信小程序小技巧系列《二》show内容展示,上传文件编码问题
阅读量:4323 次
发布时间:2019-06-06

本文共 3872 字,大约阅读时间需要 12 分钟。

作者:gou-tian

来自:

 

show内容展示

  • 尝试用微信小程序的template组件实现。同时,尝试页面间转跳时传参,在目标页面引入模板文件实现 写的更少,做的更多 篇幅有限详细代码此处省略
Page({        data: {            discuss: [],            petAge: 0,            reply: false,            height: 20        },        onLoad: function(){            util.dataList.call(this, {                cb: util.petAge            });        }        });    /*     * 部分公共逻辑页代码     */    function list(option) {        var opt = {            url: option.url || 'https://api.zg5v.com/index.php/index/show/showindex',            data: option.data || {                uid: 148,                num: option.pageNum || 0            },            update: option.update || false,            cb: option.cb || false,            func: option.func || false        };        // 数据列表        var showList = [];        var objDa = [];        this.data.replyListArr = [];        // 保存/修改 this指向        var self = this;        ajax({            url: opt.url,            data: opt.data,            cb: function(res) {                showList = res.data.data;                // 统一格式                if (!Array.isArray(showList) &&                    typeof showList === 'object') {                    // 计算评论发布时间                    showList.pl.forEach(function(e, i) {                        e.cp_chongbirth = e.cp_addtime * 1000;                        e.replyTime = opt.cb(e.cp_chongbirth, true);                    }, showList.pl);                    objDa.push(showList);                } else {                    objDa = showList;                }                // 更新评论列表                if (opt.update) {                    let da = res.data.data.pl,                        plDa = self.data.discuss,                        i = 0,                        j = 0,                        len = da.length,                        jLen = plDa.length;                    for (; j < jLen; j++) {                        for (; i < len; i++) {                            if (plDa[j].pl.length > 0) {                                plDa[j].pl.push(da[i]);                            }                        }                    }                    objDa = plDa;                    opt.update = !opt.update;                }                if (res.data.status === 1) {                    for (var i = 0, len = objDa.length; i < len; i++) {                        if (opt.cb && typeof opt.cb === 'function') {                            // 计算宠物年龄                            objDa[i].petAge = opt.cb(objDa[i].cp_chongbir ||                                objDa[i].cp_chongbirth);                        }                    }                    self.setData({                        discuss: objDa                    });                } else if (res.data.status === 2 || res.data.status === 0) {                    self.onLoad();                }                objDa = [];            }        });    }

 

上传文件编码问题(*)

  • header 里的数据在真机预览的时候是无效的。那就尝试改变编码进行传输,在uploadFile 的参数中加入
 
header: {“chartset”:”utf-8”}
或是
 
header: {"content-type":'application/x-www-form-urlencoded'}
  • 需要改到 formData 中,尝试将编码数据加入formData,但仅仅传输了数据,并没有改变编码.header有问题暂时找不到解决方案,所以编码操作暂时只能手动进行.在 javascript 中,字符串编码函数是 encodeURI, 在小程序中尝试可以使用。所以,将代码改为如下:
wx.uploadFile({        url: 'Upload image server path (Must be secure https)',        // 待上传的图片,由 chooseImage获得        filePath: tempFilePaths[0],        name: 'file',        // HTTP 请求中其他额外的 form data        formData: {            // city: '太原',            city: encodeURI('太原'),            // name: 'taiyan',            name: encodeURI('taiyan') // 名称        },         success: function(res) {            console.log("success", res);        },        fail: function(res) {            console.log("fail", res);        }    });

 

转自:

转载于:https://www.cnblogs.com/wxapp-union/p/6202437.html

你可能感兴趣的文章
转:Maven项目编译后classes文件中没有dao的xml文件以及没有resources中的配置文件的问题解决...
查看>>
MTK android 设置里 "关于手机" 信息参数修改
查看>>
单变量微积分笔记6——线性近似和二阶近似
查看>>
补几天前的读书笔记
查看>>
HDU 1829/POJ 2492 A Bug's Life
查看>>
CKplayer:视频推荐和分享插件设置
查看>>
CentOS系统将UTC时间修改为CST时间
查看>>
redis常见面试题
查看>>
导航控制器的出栈
查看>>
玩转CSS3,嗨翻WEB前端,CSS3伪类元素详解/深入浅出[原创][5+3时代]
查看>>
iOS 9音频应用播放音频之播放控制暂停停止前进后退的设置
查看>>
Delphi消息小记
查看>>
JVM介绍
查看>>
将PHP数组输出为HTML表格
查看>>
经典排序算法回顾:选择排序,快速排序
查看>>
BZOJ2213 [Poi2011]Difference 【乱搞】
查看>>
一道关于员工与部门查询的SQL笔试题
查看>>
Canvas基础
查看>>
[Hive - LanguageManual] Alter Table/Partition/Column
查看>>
可持久化数组
查看>>