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. 2020-11-21 f

    题意:给定一个长度为 \(n\) 的序列 \(A\),\(A_i \in [0, 2 ^ k)\).定义 \(f(x)\) 为 \(A_1\) ^ \(x\),\(A_2\) ^ \(x \cdots ...

  2. jQuery EasyUI 的editor组件使用

    问题:最近在优化一个项目时,前端用到了 easyui这个插件来实现表格,搞了很久,才实现出一部分功能,但是还是有很多地方不熟悉,故记录一下,以后再研究 第一个实例------------------- ...

  3. JS 高阶函数

    笔记整理自:廖雪峰老师的JS教程 目录 概述 Array中的高阶函数 map(返回新的Array) reduce(返回新的Array) filter(返回新的Array) sort(返回同一Array ...

  4. C# 获取网页验证码

    转载请注明来源:https://www.cnblogs.com/hookjc/ 以下方法必需在WebBrowser控件加载网页完成后才可以调用,否则会提示无法将对象引用到实例,切记!!! public ...

  5. aidl介绍

    (1)远程服务 运行在其他应用里面的服务     (2)本地服务 运行在自己应用里面的服务    (3)进行进程间通信  IPC   (4)aidl Android interface Definat ...

  6. 【转】Python 并行分布式框架 Celery

    原文链接:https://blog.csdn.net/freeking101/article/details/74707619 Celery 官网:http://www.celeryproject.o ...

  7. 接口里的default,static方法

    我们都知道接口里的变量默认隐含类型是public static final,也是就是说是常量.而方法默认类型是public abstract,所以接口的方法都是抽象方法,但是事实真的是这样吗? 我的P ...

  8. Shell循环练习题

    Shell循环练习题 目录 Shell循环练习题 1.计算从1到100所有整数的和 2.提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和 3.求从1到100所有整数的偶数和.奇数和 ...

  9. shell——eval exec

    eval # cat test.sh echo \$$# eval "echo \$$#" # sh test.sh a b c $3 c shell的内建命令exec将并不启动新 ...

  10. k8s 通过helm发布应用

    什么是helm? Helm 是 Kubernetes 的包管理器.Helm 是查找.分享和使用软件构建 Kubernetes 的最优方式. 在红帽系的Linux中我们使用yum来管理RPM包,类似的, ...