laravel实现一个上传图片的接口,并建立软链接,访问图片的方法

我们同时上传的还有昵称,图片是保存在resource表里面,,

对应在userProfile有关联id;利用laravel自带上传很方便,,

但是不能直接访问,,所以需要建立软链接:

PHP artisan storage:link

执行该条命令会在public里面生成存储图片的文件夹,就可以通过地址访问了

public function uploadAvatar(Request $request)
{
 $validator = Validator::make($request->all(), [
  'nickname' => 'required|string|max:8',
  'avatar' => 'required',
 ]);
 if ($validator->fails()) {
  return $this->responseForJson(ERR_ACCESS_DENID, $validator->errors());
 }
 $user_id=Auth::id();
 $avatar = $request->file('avatar')->store('/public/'.date('Y-m-d').'/avatars');
 $avatar = Storage::url($avatar);

 $resource=Resource::insertGetId(['type'=>1,'resource'=>$avatar]);
 $Data=['user_id'=>$user_id,'avatar'=>$resource,'nickname'=>$request->nickname];
 try {
  $edit = UserProfile::where('user_id',$user_id)->update($Data);
  if ($edit) {
   return $this->responseForJson(ERR_OK, 'upload success');
  }
  return $this->responseForJson(ERR_CREATE, 'upload fail');
 }catch (\Exception $exception) {
  return $this->responseForJson(ERR_ACCESS_DENID, $exception->getMessage());
 }
}

以上这篇laravel实现一个上传图片的接口,并建立软链接,访问图片的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • laravel 多图上传及图片的存储例子

    1.了解文件磁盘配置: 'public' => [ 'driver' => 'local', 'root' => storage_path('app/public'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ], 在filesystems.php文件中创建了一个名为 public的文件磁盘,使用的驱动为本地存储,'root'表示的是文件最终存储的目标路径是storage/app/public

  • 解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题

    具体操作如下所示: 以前的图片可以访问 现在添加的图片都不可以访问 目录里面也有这张图片 1.来到public 看见这个目录没有 , 你删掉它 然后去到命令行 修改完了之后 你会发现 public 目录下面又会多了 storage 你在去 上传图片看看就没有问题了 1.你是不是移动过storage(比如使用git) 2.你是不是在storage下面创建过什么文件(只要是就对了) 以上这篇解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题就是小编分享给大家的全部内容了,希望能

  • laravel实现上传图片并在页面显示的例子

    1:上传图片 public function updateFeedbackImg(Request $request) { $bool = false; $upload_file = $request->file("pic"); if ($upload_file->isValid()) { $realPath = $upload_file->getRealPath(); $bool = Storage::disk('feedback')->put($request

  • Laravel框架实现的上传图片到七牛功能详解

    本文实例讲述了Laravel框架实现的上传图片到七牛功能.分享给大家供大家参考,具体如下: 新建项目 这里直接用一个新的Laravel5.3的项目进行演示,其他版本都是一样不会影响功能,顶多是路由位置不一样而已.已有项目的小伙伴可直接跳过次段. # 新建项目 laravel new laravel-qiniu cd laravel-qiniu 安装Laravel七牛扩展包 过Composer安装: composer require zgldh/qiniu-laravel-storage 然后在

  • 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

  • laravel框架 laravel-admin上传图片到oss的方法

    第一步:在composer.json 中的 require 添加 "jacobcyl/ali-oss-storage": "^2.1" 然后在cmd里运行composer update 第二步:在config/app.php的providers下添加 Jacobcyl\AliOSS\AliOssServiceProvider::class, 第三步:在app/filesystems.php中的disks里下添加 'disks'=>[ ... 'oss' =&g

  • Laravel+Layer实现图片上传功能(整理篇)

    ♩ 背景 昨天在自己的 Laravel5.5 框架项目中,希望集成 Layer 的图片上传功能 但是在 ajax(POST) 提交请求时,一直显示 500 报错 ♪ 分析 ⒈ 问题所在 最后将核心代码摘出,放到 Larvel 框架以外运行,发现代码是没有问题的,因为对 Laravel 框架接触的太浅,忽视了 CSRF 的限制 ⒉ 解决方案 一般在表单提交时,都会存放一个隐藏的输入框 <input type="hidden" name="_token" valu

  • laravel框架上传图片实现实时预览功能

    在laravel框架中上传图片并实时预览,其实并没有那么难,下面给大家展示一下: HTML代码: <img class="pic house-a" οnclick="houseImgOne(this)" name="house_img_one" id="house_img_one" src=""> <input type="file" name="house_

  • laravel实现一个上传图片的接口,并建立软链接,访问图片的方法

    我们同时上传的还有昵称,图片是保存在resource表里面,, 对应在userProfile有关联id;利用laravel自带上传很方便,, 但是不能直接访问,,所以需要建立软链接: PHP artisan storage:link 执行该条命令会在public里面生成存储图片的文件夹,就可以通过地址访问了 public function uploadAvatar(Request $request) { $validator = Validator::make($request->all(),

  • 利用laravel搭建一个迷你博客实战教程

    本文主要给大家介绍的是关于利用laravel搭建一个迷你博客的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 一.设计与思路 在开始写第一行代码之前,一定要尽量从头到尾将我们要做的产品设计好,避免写完又改,多写不必要的代码. 需求分析:我们的迷你博客应该至少包含:新增/编辑/查看/删除文章,以及文章列表展示功能. 数据库分析:基于这个功能,我们只需要一张 Articles 数据表来存放文章即可. 页面结构分析:应该使用模板继承建立一张基础模板包含:头部/文章列表/底部信

  • Laravel+Intervention实现上传图片功能示例

    本文实例讲述了Laravel+Intervention实现上传图片功能.分享给大家供大家参考,具体如下: 问题 使用Laravel上传图片 解决 安装Intervention 根据这个链接来安装https://packagist.org/packages/intervention/image 使用Intervention 根据这个文档来进行使用http://image.intervention.io/getting_started/introduction 简单修改 使用下面的代码就能实现上传图

  • Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解

    本文实例讲述了Laravel框架Eloquent ORM简介.模型建立及查询数据操作.分享给大家供大家参考,具体如下: 注:以下知识点可能有不全面之处,望见谅 NO.1Eloquent ORM简介 Laravel所自带的Eloquent ORM是一个优美.简洁的ActiveRecord实现,用来实现数据库操作 每个数据表都有与之相对应的"模型(Model)"用于和数据交互 NO.2模型的建立 最基础的模型代码如下: namespace App; use Illuminate\Datab

  • vue打包之后生成一个配置文件修改接口的方法

    前言: 我们的vue代码打包上传到服务器之后,要是数据接口 以后换了域名什么的,是不是需要重新去vue文件里修改接口. 能不能生成一个配置文件,里面可以配置域名或其它什么字段之类的,这样以后换了域名,只需打开记事本 修改一下域名即可. 教程: 第一步:安装generate-asset-webpack-plugin插件 npm install --save-dev generate-asset-webpack-plugin 第二步:配置webpack.prod.conf.js文件 //让打包的时候

  • Java Servlet上传图片到指定文件夹并显示图片

    在学习Servlet过程中,针对图片上传做了一个Demo,实现的功能是:在a页面上传图片,点击提交后,将图片保存到服务器指定路径(D:/image):跳转到b页面,b页面读取展示绝对路径(D:/image)的图片.主要步骤如下: 步骤一:上传页面uploadphoto.jsp 需要注意两个问题: 1.form 的method必须是post的,get不能上传文件, 还需要加上enctype="multipart/form-data" 表示提交的数据是二进制文件. 2.需要提供type=&

  • 详解C#中的接口属性以及属性访问器的访问限制

    接口属性 可以在接口上声明属性.以下是接口索引器访问器的示例: public interface ISampleInterface { // Property declaration: string Name { get; set; } } 接口属性的访问器不具有体.因此,访问器的用途是指示属性是否为读写.只读或只写. 在此例中,接口 IEmployee 具有读写属性 Name 和只读属性 Counter. Employee 类实现 IEmployee 接口并使用这两种属性.程序读取新雇员的姓名

  • vue中接口域名配置为全局变量的实现方法

    src中新建 一个 domain.js文件 // 配置全局接口域名 const domain = 'http://bowensi.xiaoniren.cn/'; export default { testUrl:domain } main.js中 import domain from './domain.js'; global.domain = domain; 组件中: data () { return { imgsrc:domain.testUrl}} 以上这篇vue中接口域名配置为全局变量的

  • 使用Java7的Files工具类和Path接口来访问文件的方法

    在日期的java版本中,都是通过File类来访问文件,但是File类的操作有限,不能利用特定文件系统的特性,性能也不高.在访问出错时,很多都是直接返回false,并没有给出异常信息.因此Java7新增了Files和Paths两个工具类来操作文件.Files类中包含了大量的静态方法来操作文件.Java7还引入了一个Path接口,它代表的是与平台无关的平台路径,关于它的用法,下面会做详细的介绍. Paths提供了两个方法用来获取Path对象, 1.get(URL url) 2.get(String

随机推荐