html

<l-form name="goods" l-form-btn-class="l-form-btn-class" bind:linsubmit="submit"
>
<l-form-item label="商品分类:"rules="{{goods.goods_type}}" name="goods_type">
<l-input id="goods_type" hide-label show-row="{{false}}"/>
</l-form-item> <l-form-item label="商品属性:" roles="{{goods.goods_attr}}" name="goods_attr">
<l-input id="goods_attr" hide-label show-row="{{false}}"/>
</l-form-item> <l-form-item label="标题:" name="goods_name" roles="{{goods.goods_name}}">
<l-input id="goods_name" hide-label show-row="{{false}}"/>
</l-form-item> <l-form-item label="商品描述:" name="desc" roles="{{goods_name}}">
<l-textarea border="{{false}}" roles="{{desc}}" id="desc" value="{{desc}}" />
</l-form-item>
<l-image-picker size="4" bind:linchange="onChangeTap" />
<view slot="submit">
<l-button>提交</l-button>
<iew>
<view slot="reset">
<l-button type="default" plain>重置</l-button>
<view>
</l-form>
js

  Page({

  /**
   * 页面的初始数据
   */
  data: {
    TimeID: -1,
    goods_img:[],
    goods:{
      goods_type:{
        required: true,
        message: '分类不能为空',
        trigger: 'change'
      }
    }
    
   },

  onChangeTap(e){
    let that=this
    let token=wx.getStorageSync('token')
    e.detail.current.map(filePath=>{
      wx.uploadFile({
        filePath: filePath,
        name: 'file',
        // url: 'http://www.zy.com/api/upfile',
        url: `${http}upfile`,
        header:{token},
        success:res=>{
          let json=JSON.parse(res.data)
//文件追加数组
          this.data.goods_img.push(json.data)
          console.log(json.data);
        }
      })
    })
  },

  submit(event){
    console.log();
    if (!event.detail.isValidate) {
      return false
    }
      let desc=event.detail.desc
      let goods_attr=event.detail.values.goods_attr
      let goods_name=event.detail.values.goods_name
      let goods_type=event.detail.values.goods_type
      let goods_img=this.data.goods_img
      let token=wx.getStorageSync('token')
      wx.request({
        url: `${http}goods`,
        data:{desc,goods_attr,goods_name,goods_type,goods_img},
        method:"POST",
        header: {
          'content-type': 'application/json', // 默认值
          token
        },
        success:res=>{
          console.log(res);
          if (res.data.code == 200) {
            wx.showToast({
              title: '添加成功',
            })
          }else{
            wx.showToast({
              title: '添加失败',
            })
          }
        },
        fail:ret=>{
          wx.showToast({
            title: '系统错误',
          })
        }
      })
  },

laravel 控制器代码:

  public function upload(Request $request)
{
DB::beginTransaction();
$file = $request->file('file');
// 百度云检测图片
$res=(new BaiDuCkeck())->imageAudit($file);
try {
$res=Oss::oss($file);
DB::commit();
// 返回上传之阿里云oss的图片链接
return ['code'=>200,'msg'=>'ok','data'=>$res];
}catch (\Exception $exception){
DB::rollBack();
return ['code'=>500,'msg'=>$exception->getMessage(),'data'=>[]];
}

效果图:

方式2 :简单实现

wxml

<l-form name="goods" l-form-btn-class="l-form-btn-class" bind:linsubmit="submit"
>
<view>
<l-image-picker size="4" bind:linchange="onChangeTap" />
</view>
<view slot="submit">
<l-button>提交</l-button>
</view>
</l-form>

wx.json

{
"usingComponents": {
"l-image-picker":"/miniprogram_npm/lin-ui/image-picker",
"l-form":"/miniprogram_npm/lin-ui/form"
}
}

wx.js

// liu ui 图片上传
onChangeTap(evt) {
evt.detail.current.map(filePath => {
wx.uploadFile({
filePath: filePath,
name: 'file',
url: 'http://www.yan.com/exam20/image',
header: {
'Content-Type': 'multipart/form-data'
},
success: res => { let json = JSON.parse(res.data)
//文件追加数组
this.data.goods_img.push(json.data) } }) }); }, submit(evt) {
// 获取到文件传输的值
let goods_img=this.data.goods_img
// 将值添加入库即可 },

laravel控制器:

/**
* 接受微信小程序端传过来的图片
*/
public function image(Request $request){
$imgUrl=$request->file('file')->getPathname();
// 验证图片链接
$res=BaiduService::imageCheck($imgUrl);
if ($res){
// 阿里云文件上传
$result=OssImageServerice::ossImage($imgUrl);
return response()->json(['code'=>200,'message'=>'文件检测结果合规,文件已经上传至阿里云服务器','data'=>$result]);
}else{
return response()->json(['code'=>500,'message'=>'文件不合规,上传失败','data'=>'']);
} }

微信小程序文件上传结合lin ul的更多相关文章

  1. 微信小程序文件上传至七牛云(laravel7)

    1 wxml: <view> <form bindsubmit="dopost"> <view> <label>真实姓名</l ...

  2. 5行代码实现微信小程序图片上传与腾讯免费5G存储空间的使用

    本文介绍了如何在微信小程序开发中使用腾讯官方提供的云开发功能快速实现图片的上传与存储,以及介绍云开发的 5G 存储空间的基本使用方法,这将大大提高微信小程序的开发效率,同时也是微信小程序系列教程的视频 ...

  3. 快速高效实现微信小程序图片上传与腾讯免费5G存储空间的使用

    本文介绍了如何在微信小程序开发中使用腾讯官方提供的云开发功能快速实现图片的上传与存储,以及介绍云开发的 5G 存储空间的基本使用方法,这将大大提高微信小程序的开发效率 对于一般的图片上传功能开发,我们 ...

  4. 微信小程序图片上传并展示

    1.首先编写微信小程序的页面和样式: index.js var total = []; Page({ data: { perImgSrc: [] }, onLoad: function (option ...

  5. 小程序文件上传uploadFile

    前台代码: bindPhoto(e) { var that = this; wx.chooseImage({ count: 1, sizeType: ['original','compressed'] ...

  6. 微信小程序---图片上传+服务端接受

    原文地址:http://blog.csdn.net/sk719887916/article/details/54312573 微信小程序,图片上传,应用地方-修改用户信息的头像. 详细代码: 小程序的 ...

  7. 微信小程序图片上传和裁剪

    本篇博客用于解决微信小程序图片裁剪问题 图片裁剪常用于头像选择和图片合成等. 图片裁剪解决方案: 目前网络上知名的微信小程序图片裁剪插件是we-cropper(文末有链接) 操作步骤:下载好we-cr ...

  8. 微信小程序开发——上传代码片段到git仓库

    微信开发者工具除了自带的git版本管理(本地服务)之外,还可以推送到在线git仓库中去,这样别人也可以通过git来拉取你的代码片段或小程序. 一.1.登录git 一.2.点击创建项目  一.3.填写项 ...

  9. 微信小程序代码上传,审核发布小程序

    1.打开微信开发者工具 管理员扫码 -> 填写好小程序的项目目录.AppID(必须是客户已注册好的AppID).项目名称 2.在app.js中修改id(客户登录后台管理系统的id),app.js ...

随机推荐

  1. Android 如何让EditText不自动获取焦点&隐藏软键盘

    感谢大佬:https://blog.csdn.net/a18615971648/article/details/72869345 有时候的项目当中进入某个页面edittext会自动获取焦点弹出软键盘, ...

  2. python-字符串操作分类小结

    切片 str[start:end:step] # 包括头,不包括尾巴.step为步长,意思是每隔step-1个元素,取一个字符 [::-1] #反向取字符串,实现字符串的反转 "abcde& ...

  3. UNIX系统上的抓包工具tcpdump常用命令说明

    tcpdump 介绍 tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上. 不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才 ...

  4. 一个label 混搭不同颜色,不同字体的文字.. by 徐

    效果如图箭头所示,只需要一个label就可以做到不同颜色或不同字体的效果 1 UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10, ...

  5. pytest-html 测试报告

    前言 上一篇文章pytest简介中,执行测试用例后,在 pycharm 控制台(方式一)或 Terminal(方式二)中可以查看测试结果.但是在实际的接口自动化项目中一般需要生成直观的测试报告,这个测 ...

  6. linux c 线程相关函数

    线程相关函数(1)-pthread_create(), pthread_join(), pthread_exit(), pthread_cancel() 创建取消线程 一. pthread_creat ...

  7. Blob检测

    一 Laplace 算子 使用一阶微分算子可以检测图像边缘.对于剧烈变化的图像边缘,一阶微分效果比较理想.但对于缓慢变化的图像边缘,通过对二阶微分并寻找过零点可以很精确的定位边缘中心.二阶微分即为 L ...

  8. 详细介绍rar是什么由谁发明

    RAR是一种专利文件格式,用于数据紧缩与归档打包,开发者为尤金·罗谢尔(俄语:Евгений Лазаревич Рошал,拉丁转写:Yevgeny Lazarevich Roshal),RAR的全 ...

  9. ZCC2410同步升压变换芯片

    ZCC2410???? 22V/25A同步升压变换器  ZCC2410是一种高效率.高功率密度.宽输入范围.电流模式升压变换器.该转换器集成了一个10mΩ.24V电源开关和一个同步门高转换器效率的驱动 ...

  10. 分析HTTP请求以降低HTTP走私攻击HTTP数据接收不同步攻击的风险

    写在前面的话 HTTP/1.1自1991年至2014年,已经走过了一段很长的发展历程: HTTP/0.9– 1991 HTTP/1.0– 1996 HTTP/1.1 RFC 2068– 1997 RF ...