laravel实现上传图片的两种方式小结

第一:是laravel里面自带的上传方式(写在接口里面的)

function uploadAvatar(Request $request)
 {
  $user_id = Auth::id();
  $avatar = $request->file('avatar')->store('/public/' . date('Y-m-d') . '/avatars');
  //上传的头像字段avatar是文件类型
  $avatar = Storage::url($avatar);//就是很简单的一个步骤
  $resource = Resource::create(['type' => 1, 'resource' => $avatar, 'user_id' => $user_id]);
  if ($resource) {
   return $this->responseForJson(ERR_OK, 'upload success');
  }
 return $this->responseForJson(ERR_EDIT, 'upload fails');
 }

第二:通用的上传方式

function upload_img($file)
{
 $url_path = 'uploads/cover';
 $rule = ['jpg', 'png', 'gif'];
 if ($file->isValid()) {
  $clientName = $file->getClientOriginalName();
  $tmpName = $file->getFileName();
  $realPath = $file->getRealPath();
  $entension = $file->getClientOriginalExtension();
  if (!in_array($entension, $rule)) {
   return '图片格式为jpg,png,gif';
  }
  $newName = md5(date("Y-m-d H:i:s") . $clientName) . "." . $entension;
  $path = $file->move($url_path, $newName);
  $namePath = $url_path . '/' . $newName;
  return $path;
 }
}

以上这篇laravel实现上传图片的两种方式小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 利用laravel+ajax实现文件上传功能方法示例

    前言 大家都知道,早期的XMLHttpRequest不支持文件上传,一般用第三方js插件或者flash,现在可以借助XMLHttpRequest Level 2 的FormData对象实现二进制文件上传,正好最近工作中遇到了这个需求,所以本文就来给大家总结下实现的方法,话不多说了,来一起看看详细的介绍吧. 示例代码 @extends('layouts.art') @section('content') <form class="form-horizontal" id="

  • 在laravel5.2中实现点击用户头像更改头像的方法

    视图层 !!!自己下载jquery文件和ajaxfileUpload的插件 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> </style> </head> <script type="text/javascript&q

  • laravel-admin的图片删除实例

    对laravel-admin的图片上传机制有深深的疑惑,在用户信息页面上删除头像图片就会报错,当时用的是1.4的,后来更新1.5 发现删除按钮直接消失了,在使用过程中,要是在form中正常使用image就好用,稍微写的复杂一点(比如我把$form->image写在tab里的时候)就不好用了. 针对这个问题写了一个方法,(也不知道适不适用哈) <?php namespace App\Admin\Controllers; use App\Http\Controllers\Controller; u

  • laravel实现上传图片的两种方式小结

    第一:是laravel里面自带的上传方式(写在接口里面的) function uploadAvatar(Request $request) { $user_id = Auth::id(); $avatar = $request->file('avatar')->store('/public/' . date('Y-m-d') . '/avatars'); //上传的头像字段avatar是文件类型 $avatar = Storage::url($avatar);//就是很简单的一个步骤 $res

  • vue data引入本地图片的两种方式小结

    我就废话不多说了,大家直接看吧! 第一种 <template> <img :src="imgsrc"> </template> <script> export default { data () { return { imgsrc: require('../../images/ICON-electronicbilling.png') } } } </script> 第二种 <template> <img :s

  • pytorch实现focal loss的两种方式小结

    我就废话不多说了,直接上代码吧! import torch import torch.nn.functional as F import numpy as np from torch.autograd import Variable ''' pytorch实现focal loss的两种方式(现在讨论的是基于分割任务) 在计算损失函数的过程中考虑到类别不平衡的问题,假设加上背景类别共有6个类别 ''' def compute_class_weights(histogram): classWeigh

  • Springboot之修改启动端口的两种方式(小结)

    Springboot启动的时候,端口的设定默认是8080,这肯定是不行的,我们需要自己定义端口,Springboot提供了两种方式,第一种,我们可以通过application.yml配置文件配置,第二种,可以通过代码里面指定,在开发中,建议使用修改application.yml的方式来修改端口. 代码地址 #通过yml配置文件的方式指定端口地址 https://gitee.com/yellowcong/springboot-demo/tree/master/springboot-demo2 #硬

  • Spring MVC获取HTTP请求头的两种方式小结

    1 前言 请求是任何Web服务要关注的对象,而请求头也是其中非常重要的信息.本文将通过代码讲解如何在Spring MVC项目中获取请求头的内容.主要通过两种方式获取: (1)通过注解@RequestHeader获取,需要在Controller中显式获取: (2)通过RequestContextHolder获取,可以任何地方获取. 接下来通过代码讲解. 2 通过注解@RequestHeader获取 需要在Controller中显示使用@RequestHeader. 2.1 获取某个请求头 只获取其

  • redis实现延时队列的两种方式(小结)

    背景 项目中的流程监控,有几种节点,需要监控每一个节点是否超时.按传统的做法,肯定是通过定时任务,去扫描然后判断,但是定时任务有缺点:1,数据量大会慢:2,时间不好控制,太短,怕一次处理不完,太长状态就会有延迟.所以就想到用延迟队列的方式去实现. 一,redis的过期key监控 1,开启过期key监听 在redis的配置里把这个注释去掉 notify-keyspace-events Ex 然后重启redis 2,使用redis过期监听实现延迟队列 继承KeyExpirationEventMess

  • C#复杂XML反序列化为实体对象两种方式小结

    目录 前言 需要操作的Xml数据 一.通过是手写的方式去定义Xml的实体对象模型类 二.通过Visual Studio自带的生成Xml实体对象模型类 1.首先Ctrl+C复制你需要生成的Xml文档内容 2.找到编辑=>选择性粘贴=>将Xml粘贴为类 3.以下是使用VS自动生成的Xml类 验证两个Xml类是否能够反序列化成功 C# XML基础入门(XML文件内容增删改查清) C#XmlHelper帮助类操作Xml文档的通用方法汇总 .NET中XML序列化和反序列化常用类和用来控制XML序列化的属

  • Vue引入并使用Element组件库的两种方式小结

    目录 前言 Element-ui(饿了么ui) 安装element-ui 引入element-ui 完整引入element-u 按需引入element-ui 总结 前言 在开发的时候,虽然我们可以自己写css或者js甚至一些动画特效,但是也有很多开源的组件库帮我们写好了.我们只需要下载并引入即可. vue和element-ui在开发中是比较般配的,也是我们开发中用的很多的,下面就介绍下如何在eue项目中引入element-ui组件库 Element-ui(饿了么ui) element-ui(饿了

  • java实现消息队列的两种方式(小结)

    实现消息队列的两种方式 Apache ActiveMQ官方实例发送消息 直接在Apache官网http://activemq.apache.org/download-archives.html下载ActiveMQ源码 下载解压后拿到java代码实例 然后倒入IDE 如下: 请认真阅读readme.md文件,大致意思就是把项目打成两个jar包,然后启动服务,然后同时运行打的两个jar包,然后就能看到具体的调用信息.打jar包时直接利用maven打就行了,不用修改代码. 启动服务: 利用Spring

  • Java中Http连接的两种方式(小结)

    在java中连接http,介绍两种方法,一种是java的HttpUrlConnection,另一种是apacha公司的httpClient,后者是第三方的类库需要从外部,导入,同时这也是第一次使用外部的类库,以后还会有很多需要导入外部类库的需求. http协议是基于tcp的一种协议. tcp是一种保证可靠连接的传输协议,通过三次握手,和丢失重传的机制保证数据的传输. 首先来看HttpUrlConnection 这个类是java自带的,直接import就行. 使用tcp连接的过程几乎都一样,htt

随机推荐