html52.com
我爱小程序-开发者交流社区

form表单和图片

问题模块
API和组件

如果form表单中 有图片这样的字段 , 如何将上传的图片和 form表单提交的数据关联上?

网友回复

平风:

那就等全部上传完再保存表单,用伪代码表示就是:

task.all([upload1, upload2, upload3]).then(save);

Hunter:

谢谢解答, 但是有点疑问。

3楼的方法可能会上传很多没用的图片啊。 4楼的方法 ,如果涉及到多图上传怎么办?

平风:

formSubmit: function(event) {

    var params = {

        name: event.detail.value.name,

        ...

    };


    // 先上传图片

    wx.uploadFile({

url: 'https://.../upload',

filePath: that.data.tempFilePath,  // wx.chooseImage所得

name: 'file',

success: function(res){

var data = res.data

params.filePath = data.filemame;


// 保存表单

wx.request({

url: 'https://.../upload',

data: params,

success: function(res) {

...

}

})

}

    })

},

imageTap: function() {

wx.chooseImage({

  success: function(res) {

    that.data.tempFilePath = res.tempFilePaths[0];

    }

    });

}

厚光:

选择图片的时候就上传,上传完成返回值附到表单中的字段,再提交表单

Hunter:

目前想到一个别的办法, 先提交form表单 然后返回 标识, 然后在上传图片,把标识传过去做关联。  不知掉有没有更好的办法

Hunter:

我现在的做法是 form表单提交的时候  同时上传图片 ,然后等待图片上传完之后 把服务器端返回的文件名赋值到formData ,目的是把这个文件名存到图片字段,  结果发现 上传图片好像是异步的, 所以导致 表单可能提交完了以后, 图片上传才返回结果, 导致formData中没有我要的图片名称值。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付