1 wxml:

<view>
<form bindsubmit="dopost">
<view>
<label>真实姓名</label>
<input name="truename" value="{{ userinfo.truename }}" />
</view>
<view>
<label>身份证号</label>
<input name="card" type="idcard" value="{{ userinfo.card }}" />
</view>
<view class="tip-msg">
添加手持身份证照片
<text>(照片仅用于身份认证)</text>
</view>
<view class="uppic" bind:tap="upfile">
<text class="iconfont icon-jiahao"></text>
</view>
<view class="imglist">
<block wx:for="{{upfile}}" wx:key="upfile">
<image src="{{item}}" />
</block>
</view>
<view class="sendbtn">
提交信息
<button type="primary" form-type="submit">提交信息</button>
</view>
</form>
</view>

 2 wx.js:

    // pages/page/page.js
Page({
/**
* 页面的初始数据
*/
data: {
upfile:[]
},
//图片上传
upfile:function(res){
let that = this
let file = []
// 本地图片
wx.chooseImage({
count: 3,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success (res) {
// tempFilePath可以作为img标签的src属性显示图片
let tempFilePaths = res.tempFilePaths;
tempFilePaths.map(filepath=>{
wx.uploadFile({
// 发送的网址
url: 'http://www.yan.com/api/xcx/xcxImg',
filePath: filepath,
// 发送的文件
name: 'file',
success (ret){
let json = JSON.parse(ret.data)
// console.log(json)
// 将返回的文件追加至file空数组
file.push(json.data)
// 设置data数据中的file
that.setData({
upfile:file
})
},fail(res){
wx.showToast({
title: '请求失败',
icon:"error"
})
}
})
})
}
})
}, })

wxss

/* pages/page/page.wxss */
page {
background-color: #fff;
} .imglist image{
width: 200rpx;
height: 200rpx;
}
.tip {
background-color: #fff3cd;
height: 60rpx;
line-height: 60rpx;
font-size: 14px;
color: #fb6951;
padding-left: 10rpx;
}
.tip text:nth-of-type(1) {
margin-right: 10rpx;
}
form view {
padding: 30rpx;
display: flex;
height: 80rpx;
line-height: 80rpx;
border-bottom: 1px solid #eeeeee;
}
form view:nth-last-of-type(1){
border: none;
}
form view label {
margin-right: 30rpx;
}
form view input {
height: 80rpx;
line-height: 80rpx;
}
.tip-msg{
color: #a4a4a4;
}
.tip-msg text{
margin-left: 10rpx;
font-size: 12px;
}
.uppic{
margin-left: 10rpx;
margin-top: 10rpx;
width: 100rpx;
height: 100rpx;
border: 1px dashed #a4a4a4;
display: flex;
justify-content: center;
align-items: center;
} .sendbtn{
position: fixed;
bottom: 0px;
width: 750rpx;
height: 100rpx;
background: #21b97a;
padding: 0;
margin: 0;
text-align: center;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
font-size: 18px;
} .sendbtn button {
width: 100%;
height: 100rpx;
opacity: 0;
position: absolute;
top: 0;
}

3  laravel7  api.php书写路由                                                                                                                                                                                    

Route::group(['namespace'=>'xcx'],function (){

//图片
Route::post('xcx/xcxImg','LoginController@xcxImg'); });

4  然后composer下载七牛云

composer require itbdw/laravel-storage-qiniu

5 .打开 config 文件夹下的 app.php 文件,在 providers 中加入一下代码

itbdw\QiniuStorage\QiniuFilesystemServiceProvider::class,

6 .打开 config 文件夹下的 filesystems.php 文件,在 disks中加入一下代码,注意位置

'qiniu' => [
'driver' => 'qiniu',
'domain' => '', //你的七牛域名
'access_key'=> '', //AccessKey
'secret_key'=> '', //SecretKey
'bucket' => '', //Bucket名字,即七牛云存储空间名称
],

 'qiniu' => [
'driver' => 'qiniu',
'domain' => 'r3y7oifgb.hn-bkt.clouddn.com', //你的七牛域名
'access_key'=> '7Gu_5HzqSHJB3nLBz51pQN8oJBfqeGwd3kQ-vCNX', //AccessKey
'secret_key'=> 'frzqcOjOhL55eIMXQSLIfO_apMHrs0fr8jjklKDt', //SecretKey
'bucket' => 'yanbingexam', //Bucket名字,即七牛云存储空间名称
],

7 :控制器进行调用

  public function xcxImg(){
$disk = \Storage::disk('qiniu'); //使用七牛云上传
$time = date('Y-m-d');//文件上传时间
$filename = $disk->put($time, request()->file('file'));//上传 这里的image是前端的name值,自己来定
if(!$filename) {
return ['code' => 500, 'meg' => 'error', 'data' => []];
}
$img_url = $disk->getDriver()->downloadUrl($filename); //获取下载链接
return ['code' => 200, 'meg' => '上传成功', 'data' => $img_url];
}

8:七牛云进行查看,切记桶空间必须是公开的,要不上传不上去

参考:

(1)如果上传至本地图片参考以下代码:

 public function xcxImg(Request $request)
{
if ($request->hasFile('file')){
// 上传
$ret = $request->file('file')->store('', 'img');
$pic = '/uploads/img/' . $ret;
$disk =\Storage::disk('qiniu'); //使用七牛云上传
$time = date('Y-m-d');
$filename = $disk->put($time, request()->file('file'));//上传 这里的image是前端的name值,自己来定
if(!$filename) {
return ['code' => 500, 'meg' => 'error', 'data' => []];
}
$img_url = $disk->getDriver()->downloadUrl($filename); //获取下载链接
return ['code' => 200, 'meg' => '上传成功', 'data' => $img_url];
} }

(2) 如需将图片保存至本地参考以下博客

https://www.cnblogs.com/xiaoyantongxue/p/15679469.html

   public function store(Request $request)
{
//
$data = $request->post();
// 将文件上传至本地
$img = $request->file('img');
if (!empty($img)){
$img = "/".$request->file('img')->store(date('y/m/d')."/".'img');
$data['img'] = $img;
}
// 文件上传至七牛云
$disk = \Storage::disk('qiniu'); //使用七牛云上传
$time = date('Y-m-d');//文件上传时间
$filename = $disk->put($time, request()->file('img'));//上传 这里的image是前端的name值,自己来定
// 验证
$this->validate($request, ['name' => 'required', 'zhicheng' => 'required', 'img' => 'required'],
['name.required' => '医生姓名不可以为空', 'zhicheng.required' => '医生职称不可以为空', 'img.required' => '图片不可以为空']);
//添加入库
$res = Doctor::create($data);
if ($res) {
return redirect(route('doctor.index'))->with(['success' => '添加成功']);
}
return redirect(route('doctor.create'))->withErrors(['error' => '添加失败']);
}

 

                                        

微信小程序文件上传至七牛云(laravel7)的更多相关文章

  1. 微信小程序文件上传结合lin ul

    html <l-form name="goods" l-form-btn-class="l-form-btn-class" bind:linsubmit= ...

  2. .Net Core实现将文件上传到七牛云存储

    功能:将图片上传到七牛云存储 准备工作 注册七牛账号,提交实名认证(基本上1天内内审核通过) 登录七牛后台->对象存储->新建空间 (基本概念:https://developer.qini ...

  3. laravel7文件上传至七牛云并保存在本地图片

    HTML代码: <form class="layui-form" action="{{route('doctor.store')}}" method=&q ...

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

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

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

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

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

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

  7. 小程序文件上传uploadFile

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

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

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

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

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

随机推荐

  1. URL跳转空白页参数传递封装

    这东西主要是为了vue和平时打开一个空白界面_blank时的参数传递,不涉及到浏览器存储(session,local等) 众所周知,请求传参无非就用的query和params,相对应就是get和pos ...

  2. java8 stream详细

    转载:   https://zhuanlan.zhihu.com/p/299064490

  3. 一次线上服务高 CPU 占用优化实践 (转)

    线上有一个非常繁忙的服务的 JVM 进程 CPU 经常跑到 100% 以上,下面写了一下排查的过程.通过阅读这篇文章你会了解到下面这些知识. Java 程序 CPU 占用高的排查思路 可能造成线上服务 ...

  4. 替小白整理的 linux基操命令 切勿扣6 不用感谢

    Linux --------小白必会的基本命令 命令行提示字符[root@localhost ~]#[当前登录系统的用户@主机名称 当前所在的目录]## 表示为管理员登录$ 表示为普通用户登录   切 ...

  5. Ubuntu 16.04 更改系统语言为简体中文 #####避坑指南

    大家跟着我的步骤一步一步来,肯定不会出现问题的 我这里说明两点,一是切换到管理员用户,二是更新网络源! 且待大家走一遍安装流程 一.安装时报错 原因:以访客的身份进入的会报错,改为管理员进入即可. p ...

  6. 【BZOJ2337】XOR和路径(高斯消元)

    题目链接 大意 给出\(N\)个点,\(M\)条边的一张图,其中每条边都有一个非负整数边权. 一个人从1号点出发,在与该点相连的边中等概率的选择一条游走,直到走到\(N\)号点. 问:将这条路径上的边 ...

  7. logback1.3.x配置详解与实践

    前提 当前(2022-02前后)日志框架logback的最新版本1.3.0已经更新到1.3.0-alpha14版本,此版本为非stable版本,相对于最新稳定版1.2.10来说,虽然slf4j-api ...

  8. pytest(6)-Fixture(固件)

    什么是固件 Fixture 翻译成中文即是固件的意思.它其实就是一些函数,会在执行测试方法/测试函数之前(或之后)加载运行它们,常见的如接口用例在请求接口前数据库的初始连接,和请求之后关闭数据库的操作 ...

  9. CobaltStrike逆向学习系列(4):Beacon 上线协议分析

    这是[信安成长计划]的第 4 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 Beacon 发送 0x02 TeamServer 处理 0x03 流程图 0x04 参考文章 在上一篇 ...

  10. RFC2889广播时延测试——网络测试仪实操

    一.简介 RFC 2889为LAN交换设备的基准测试提供了方法学,它将RFC 2544中为网络互联设备基准测试所定义的方法学扩展到了交换设备,提供了交换机转发性能(Forwarding Perform ...