colorui上传图片到服务器的功能


直接贴代码:

ChooseImage() {//上传图片
    wx.chooseImage({
      count: 4, //默认9
      sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
      sourceType: ['album'], //从相册选择
      success: (res) => {
        if (this.data.imgList.length != 0) {
          let that=this
          //上传图片到自己服务器
          wx.uploadFile({
            url: 'http://127.0.0.1:2333/api/img/upload',
            filePath: res.tempFilePaths[0],
            name: 'file',
            success (res) {
			//服务器返回图片地址,把图片地址给粘贴上去
              let data=JSON.parse(res.data)
              console.log(data)
              if(data.code==1){
                that.setData({
                  imgList: that.data.imgList.concat(data.data.src)
                })
                console.log(data.data.src)
              }
            }
          })
        } else {
          this.setData({
            imgList: res.tempFilePaths
          })
        }
      }
    });
  },

go文件如下: 我用的是echo框架

func UploadFile(c echo.Context)error{
	//接收上传的文件
	file, err := c.FormFile("file")
	if err != nil {
		return c.JSONBlob(http.StatusOK, []byte(`{"code":0,"data":[],"msg":"没有文件"}`))
	}

	//打开用户上传的文件
	src, err := file.Open()
	if err != nil {
		return c.JSONBlob(http.StatusOK, []byte(`{"code":0,"data":[],"msg":"打开文件失败"}`))
	}

	//获取文件后缀
	suffix := common.FindMatch("(\.[a-z]+)$", file.Filename)
	//如果没有就自己设置一个
	if suffix == "" {
		suffix = ".jpg"
	}
	//创建文件
	year := "static/images/" + strconv.Itoa(time.Now().Year())
	month := strconv.Itoa(int(time.Now().Month()))
	filename := year + "/" + month + "/" + time.Now().Format("150405") + suffix
	err = common.CreatePath(year + "/" + month)
	if err == nil {
		dst, err := os.Create(filename)
		defer dst.Close()
		if err == nil {
			if _, err := io.Copy(dst, src); err == nil {
				//获取服务器地址
				option:=sql.GetConfig("site")
				//获取图片地址
				src :=  option["server"] + "/"+ filename
				return c.JSONBlob(http.StatusOK, []byte(`{"code":1,"data":{"src":"`+src+`"},"msg":"上传文件成功"}`))
			}
		}
	}
	return c.JSONBlob(http.StatusOK, []byte(`{"type":"error","msg":"上传文件失败"}`))
}

文章作者: 小游
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小游 !
  目录