wxml部分
<view class='mainView' bindtap='chooseImage'>
<image class="imageClass" src="{{userHeaderImage}}"></image>
</view>
Page({
/**
* 页面的初始数据
*/
data: {
userHeaderImage: "../../image/dachenglogo.jpg"
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
chooseImage: function () {
var that = this;
wx.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success(res) {
// tempFilePath可以作为img标签的src属性显示图片
const tempFilePaths = res.tempFilePaths[0]
that.setData({
userHeaderImage: tempFilePaths
})
console.log(tempFilePaths)
//上传图片
wx.uploadFile({
url: 'http://localhost:8080/uppphoto', //仅为示例,非真实的接口地址
filePath: tempFilePaths,
name: 'file',
header: {
//'content-type': 'application/json'
//application/x-www-form-urlencoded;
'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
method: 'POST',
formData: {
'userId': 10001
},
success(res) {
const data = res.data
console.log(res);
//do something
}
})
}
})
},
})
golang后台
首先你的注册路由我用的是beego框架
beego.Router("/uppphoto", &controllers.UppphotoController{})//这个是我用beego注册的路由!!!!!
package controllers
//上传图片
import (
"order/models"
"fmt"
"github.com/astaxie/beego"
"encoding/json"
)
type UppphotoController struct {
beego.Controller
}
func (c *UppphotoController) Post() {
f, h, ere := c.GetFile("file") //获取上传的文件 myfile
fmt.Println("f==",f)
fmt.Println("f==",ere)
pathname := h.Filename
fmt.Println("uuuuuuu=====", pathname)
fmt.Println("图片名称", pathname)
path := "./static/uploadout/" + pathname //图片目录+图片名称
fmt.Println("path===",path)
f.Close() //关闭上传的文件,不然的话会出现临时文件不能清除的情况
c.SaveToFile("file", path) //存文件
}
主要上面红色的部分,
f, h, ere := c.GetFile("file")
c.SaveToFile("file", path)
注意上面的!!!!这两个!!!一定要一直否则失败!!