收藏
回答

nodejs图片上传如何取formData数据???

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 需求 图片上传 客户端 Android 6.0 1.9.94

图片上传过程中需要在formData中添加其他数据,用于数据更新,代码如下

// 上传图片接口
doUpload: function (e) {
  var that = this
  // 选择图片
  console.log('ID:', e.target.id)
  wx.chooseImage({
    count: 1,
    sizeType: ['compressed'],
    sourceType: ['album', 'camera'],
    success: function (res) {
      util.showBusy('正在上传')
      var filePath = res.tempFilePaths[0]
      // 上传图片
      wx.uploadFile({
        url: config.service.uploadUrl,
        filePath: filePath,
        name: 'file',
        data: {
          ID: e.target.id,
          name:'aaaaaaaaa'
        },
        success: function (res) {
          util.showSuccess('上传图片成功')
          console.log('返回值:', res)
          that.setData({
            List: res.data.data[0]
          })
        },
        fail: function (e) {
          util.showModel('上传图片失败')
        }
      })
    },
    fail: function (e) {
      console.error(e)
    }
  })
},

server 端代码如下

const { uploader } = require('../qcloud')
const { mysql } = require('../qcloud')
module.exports = async ctx => {
    // 获取上传之后的结果
    // 具体可以查看:
  console.log('##############################');
  console.log(ctx.request.body);
  console.log('#############################');
    const data = await uploader(ctx.req)
    //console.log(data);
    var imgUrl = data.imgUrl;
    //console.log(data.imgUrl);
    var ID = ctx.request.body.ID;
    //console.log(ID);
    var res = null;
    var sql = "update t_zone set f_img='" + imgUrl + "' where f_id=" + ID;
    await mysql.schema.raw(sql)
    res = await mysql.schema.raw("select * from t_zone where 1=1 ")
    ctx.state.data = res;
    //ctx.state.data = data
}

不知道怎么把ID和name值取出,请大家帮我看看。


最后一次编辑于  2018-05-14  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

1 个回答

  • ricardo
    ricardo
    2018-07-21

    formidable可以试试,我用的这个

    2018-07-21
    赞同
    回复