首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在laravel 8中将上传的文件存储在公共文件夹中

在 Laravel 8 中,可以使用以下步骤将上传的文件存储在公共文件夹中:

  1. 首先,确保你已经安装了 Laravel 8,并且已经创建了一个文件上传的表单。
  2. 在控制器中,使用 store 方法来处理上传的文件并将其存储在公共文件夹中。示例代码如下:
代码语言:txt
复制
public function uploadFile(Request $request)
{
    if ($request->hasFile('file')) {
        $file = $request->file('file');
        $fileName = $file->getClientOriginalName();
        $file->storeAs('public', $fileName);
        
        // 可选:你还可以在数据库中保存文件的相关信息,如文件名、路径等。
        
        return "文件上传成功!";
    }
    
    return "没有选择要上传的文件。";
}
  1. 在视图中的表单中,确保你已经设置了 enctype 属性为 multipart/form-data,以支持文件上传。示例代码如下:
代码语言:txt
复制
<form action="/upload" method="POST" enctype="multipart/form-data">
    @csrf
    <input type="file" name="file">
    <button type="submit">上传文件</button>
</form>
  1. 最后,在路由中定义上传文件的路由。示例代码如下:
代码语言:txt
复制
Route::post('/upload', [UploadController::class, 'uploadFile']);

这样,当用户上传文件时,文件将被存储在 public 文件夹中。你可以通过 asset 函数来生成文件的公共访问链接。例如,如果你的文件名为 example.jpg,你可以使用以下代码来获取文件的公共访问链接:

代码语言:txt
复制
$url = asset('storage/example.jpg');

这是在 Laravel 8 中将上传的文件存储在公共文件夹中的方法。希望对你有所帮助!如果你想了解更多关于 Laravel 8 的信息,可以参考腾讯云的 Laravel 产品介绍页面:Laravel 产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Laravel5.8使用LayUI上传并显示图片操作

这个问题已经困扰好久了,唉 比较难受,本来学习laravel使用是Bootstrap,之后用是Uploadify进行上传图片,无奈,这个技术需要Flash支持,一直没有实现,后来思考再三,还是选择用...Layui后台框架进行设计,emm~~~毕竟用他组件可以实现和Uploadify一样无刷新上传图片效果,但是比较难受就是Laravel使用Layui进行回调函数显示图片时候,Laravel总是莫名增加了域名之外控制器及方法名称...我直接使用拼接方式进行链接拼接,这样就可以避免Laravel自动对JSON返回值自动加前缀BUG,虽然有点笨,但是解决了这个方法,以后有好方法继续更新!!!...//公共控制器 class CommonController extends Controller { //文件上传方法 public function upload(Request $...$date; if(file_exists($date)){ mkdir($tree,0777); } //将新文件移动至对应文件夹

2.5K30

Laravel 表单方法伪造与 CSRF 攻击防护

HEAD方法常被用于客户端查看服务器性能。 POST:向指定资源提交数据,请求服务器进行处理,:表单数据提交、文件上传等,请求数据包含在请求体。...答案是通过表单方法伪造,下面我们就来介绍如何在 Laravel 中进行表单方法伪造。...当然,如果你是 JavaScript 脚本执行 HTTP 请求,也可以很方便传递这个 Token 值执行写入操作,首先需要在 HTML 标签内新增一个 元素来存储 Token...>" id="csrf-token"> 然后我们 JavaScript 脚本中将这个 Token 值放到一个全局请求头设置,以便每个 HTTP 请求都会带上这个头信息,避免每次发起请求都要添加这个字段...排除指定 URL 不做 CSRF 保护 对于应用某些第三方回调路由,第三方登录或支付回调,无法做 Token 校验,需要将这些授信路由排除 CSRF 校验之外,这个功能可以参考官方文档实现,很简单

8.7K40

【腾讯云1001种玩法】 Laravel 整合万向优图图片管理能力,打造高效图片处理服务

什么是万象优图 万象优图是腾讯云为开发者提供图片智能鉴黄、图片内容识别、人脸识别、OCR识别等服务;也可以根据需求提供定制化图片识别服务;同时也提供灵活图像编辑服务,裁剪、压缩,水印等,满足您各种业务场景图片需求...如何在 Laravel 上使用万象优图?...安装 执行 composer 命令安装拓展 composer require yuecode/image:dev-master config/app.php Provider 添加 \Yuecode...\Image\ImageProvider::class, 执行 php artisan vendor:publish,将自动 config/ 目录下生成image.php 文件,修改配置文件对应选项...种玩法】 Laravel 整合微视频上传管理能力,轻松打造视频App后台 多维活体检测,让人脸识别更安全 【腾讯云1001种玩法】Laravel 整合 COS 对象存储服务,享受无限容量存储服务

4.7K00

Laravel框架集成UEditor编辑器方法图文与实例详解

分享给大家供大家参考,具体如下: 一、 背景 项目开发过程,免不了使用修改功能,而富文本编辑器是极为方便一种推荐,当然,个人认为 MarkDown 更为简单,但是感觉暂时只适合程序猿 此文介绍如何在...放置 Public 目录下 将解压后文件夹,放置 Public 目录下,本人只是将文件夹名字改动了一下. ? ❸. 前端文件配置 详情可参考 官方文档 以本人为例: ①....进行 form 表单提交时,将获得 name="content" 所传输数据写入数据库即可,而对应在数据库存储数据如下所示: 复制代码 代码如下: <p <strong style=”white-space...富文本编辑器,图片大小可自行调整. 四、扩展学习 ♩....laravl-u-editor 目录下 ueditor.config.js文件 修改33行左右 serverUrl,改成对应路径即可。

1.6K20

【腾讯云1001种玩法】 Laravel 整合微视频上传管理能力,轻松打造视频 App 后台

什么是微视频 微视频服务是腾讯云为需要支持 UGC 类小视频、短视频移动应用提供定制化,仅需通过集成 SDK 便可快速接入并支持视频上传、转码、存储和播放解决方案。...安装微视频 SDK 只需要在您Laravel项目根目录执行如下命令 composer require yuecode/uvs 执行成功后,打开您 Laravel config 目录,打开...微视频如何使用 如果你需要在某个文件中使用微视频SDK,代码中加入 use YueCode\Uvs\Uvs; 然后使用静态方法来调用相关方法, Uvs::listFolder('/')...默认使用在 uvs.php 文件定义Bucket; Video 使用是官方函数,需要加入bucketId作为参数。...相关文档可以看:官方文档 可用函数 upload: 上传视频文件 createFolder:创建文件夹 listFolder:目录列表 prefixSearch :前缀搜索 updateFolder

2.9K00

Laravel 框架集成 UEditor 编辑器方法

背景 项目开发过程,免不了使用修改功能,而富文本编辑器是极为方便一种推荐,当然,个人认为 MarkDown 更为简单,但是感觉暂时只适合程序猿 此文介绍如何在 Laravel5.5 框架中集成使用富文本编辑器...第一种是使用 composer 进行安装,可推荐参考文章 Laravel-u-editor,个人试过,无法上传图片 … ②....放置 Public 目录下 将解压后文件夹,放置 Public 目录下,本人只是将文件夹名字改动了一下. ? ❸. 前端文件配置 详情可参考 官方文档 以本人为例: ①....进行 form 表单提交时,将获得 name="content" 所传输数据写入数据库即可,而对应在数据库存储数据如下所示: <strong style="white-space: normal...<em>在</em>富文本编辑器<em>中</em>,图片<em>的</em>大小可自行调整. ㈣. 扩展学习 ♩.

1.3K10

何在Ubuntu 16.04上使用Deployer自动部署Laravel应用程序

使用sudo非root用户登录LEMP服务器,并使用以下命令创建名为“ deployer ”新用户: $ sudo adduser deployer Laravel需要一些可写目录来存储缓存文件上传...鉴于此,/var/www/html目录创建所有新文件和子目录都应继承文件夹组ID(www-data)。...打开本地计算机上终端,使用以下命令将工作目录更改为应用程序文件夹: $ cd /path/to/laravel-app 在此目录,运行以下命令,该命令将创建在文件夹调用deploy.phplaravel-app...本地计算机上,将工作目录更改为应用程序文件夹: $ cd /path/to/laravel-app laravel-app目录运行以下命令以初始化项目文件夹Git存储库: $ git init...该应用程序.env本地计算机上有一个文件,但Laravel.gitignore文件将其从Git仓库中排除,因为Git存储存储密码等敏感数据不是一个好主意,而且,应用程序需要在服务器上进行不同设置

15.5K10

通过 Laravel 创建一个 Vue 单页面应用(一)

/hello 路由 Home 组件匹配 / 路由 创建一个新 VueRouter 对象,来存储相关配置 通过 Vue 构造方法添加 App 组件,来让 Vue 知道 App 组件 将 router...我一般会把路由定义一个单独路由模块,然后再引入主应用文件,但这里为了简便,我会直接在主应用文件(app.js)定义这些路由。.../js/components 文件夹下。...服务器端 我们使用带有 Vue SPA Laravel 应用程序框架,可以很方便我们应用程序构建服务端 API。...我们还可以使用 Blade 渲染应用程序并且通过全局 JavaScript 对象来配置公共环境,我认为这是很方便本教程,我们不会去构建一个 API 实例,但是我们将在后续教程中介绍。

4.2K20

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'...$exception) { return $this- responseForJson(ERR_ACCESS_DENID, $exception- getMessage()); } } 以上这篇laravel...实现一个上传图片接口,并建立软链接,访问图片方法就是小编分享给大家全部内容了,希望能给大家一个参考。

1K41

Ubuntu或Debian上安装Subsonic媒体服务,通过你Linode来播放(下载)音乐

Subsonic是一种便于操作流媒体服务,并且具有友好用户界面,能够与多个用户共享音乐和视频。它具有高度扩展性,并包括一些特性,Chromecast(谷歌盒子)支持和文件转换。...本指南介绍如何在运行Debian或UbuntuLinode上设置Subsonic。如果你有一个大型音乐库,请考虑将块存储卷(新存储空间)附加到你Linode上以此来存储音乐文件。...,地址栏输入Linode公共IP或者域名,端口号为 4040 3.首次浏览器访问Subsonic服务器时,你将看到以下内容: [subsonic-firstlogin.png] 4.使用默认用户名和密码...注意 Subsonic数据库密码以十六进制格式存储,但未加密。 6.点击媒体文件夹链接,然后将Subsonic指向存储音乐位置。...将Subsonic指向正确目录并上传音乐后,你可以立即按扫描媒体文件夹。然后,Subsonic将创建音乐文件数据库。

2.4K30

Laravel5.6框架使用CKEditor5相关配置详解

分享给大家供大家参考,具体如下: Laravel 相关配置 文件上传存储 参考文档: https://laravel-china.org/docs/laravel/5.6/requests/1367...附录:ckeditor隐藏“浏览服务器”按钮 由于ckeditor上传图片””上传文件””上传FLASH” 三个功能中都有“浏览服务器”按钮,所以我们要修改3个JS文件,先打开ckeditor文件夹...下面去弄掉文件上传“浏览服务器”按钮。...CTRL+S保存该JS文件,出去刷新下自己ckeditor,点击“链接”按钮后,你会发现“文件上传选项”浏览服务器按钮不见了。...最后弄掉上传FLASH浏览服务器按钮,打开ckeditor\plugins\flash\dialogs\flash.js文件,还是搜索”browseServer”第一次出现地方,如上图位置处插入双引号内内容

2.8K40

Windows电脑使用HFS低成本搭建个人轻NAS并实现远程访问

前言 本文主要介绍如何在Windows系统电脑使用HFS并结合cpolar内网穿透工具搭建低成本NAS,并实现使用公网地址远程访问管理本地局域网电脑存储文件。...设立完成两个用户后,就可以点击右下角“确定”按钮,保存所做设置并回到HFS软件主界面。 1.2 虚拟文件系统 接着,我们设定一个用于存放上传文件文件夹,并对这个文件夹进行权限设定。...首先我们本地电脑上新建一个文件夹(此处命名为“上传存储”),然后HFS主界面左侧“虚拟文件系统”空白处,单击鼠标右侧,就能从弹出菜单看到“从磁盘添加目录”选项,点击后找到我们新建上传存储文件夹...接着,我们右键点击这个红色上传存储文件夹弹出菜单中点选最下方“属性”按钮,为这个文件夹进行权限设置。在这个页面,我们点选“权限”选项卡,上传”页面按实际需求勾选允许上传用户。...接下来,我们就要通过cpolar建立一条内网穿透数据隧道,将本地HFS发布到公共互联网,让我们电脑成为能够上传下载并存储文件简约版NAS。 2.

16510

基于 Redis 消息队列实现文件上传异步存储

接下来,我们就来看看 Redis 消息队列文件存储、邮件和通知这几个组件应用。 首先来看文件存储。...异步处理实现原理 文件上传存储是一个耗时操作,因为既涉及到网络传输,又涉及到磁盘 IO,如果表单包含文件上传控件,在网络带宽不高、或者网络不佳、上传文件很大等因素响应下,通常需要等待数秒、甚至数十秒才能完成文件上传和服务端存储... Java、Golang 这些支持多线程/协程应用代码,我们可以通过开启多线程/协程方式实现文件存储异步处理,而在 PHP 这种不支持并发编程单进程应用,只能在同一个用户请求处理进程实现文件存储...不过 Laravel ,我们可以基于消息队列完成文件存储异步处理:编写一个处理文件上传任务类,当有文件上传时,将该文件存储操作通过任务类推送到消息队列,最后通过队列处理器进程异步处理存储和其他后续操作...一种优化思路是将上传文件临时存储到某个路径,然后将临时文件路径作为载荷数据替代之前 base64 编码,处理任务时再从这个临时路径加载文件,待文件处理完成后,删除这个临时文件

3.4K20

PHP-Laravel目录结构分析

文件系统(文件存储等)配置文件; (4)database目录,数据迁移目录 ?...factories:存放一些工厂模式需要用一些文件; migrations:迁移,存放是迁移文件(创建/删除/修改数据表操作文件); seeds:播种、种子,存放是种子(填充器)文件(模拟向数据表写入数据操作类...(8)storage目录,主要是存放缓存文件和日志文件,注意,如果在linux环境下,该目录需要有可写权限。(后期用户上传文件如果存在本地则也storage下) ?...app:保存用户上传文件路径; framework:框架自带文件存储目录; logs:框架日志文件存储位置; (9)vendor目录,主要是存放第三方类库文件laravel思想主要是共同开发...,不要重复造轮子(例如,里面可能存在验证码类,上传类,邮件类),该目录还存放laravel框架源码。

2K20

Laravel+Layer 图片上传功能整理

图片上传功能 但是 ajax(POST)提交请求时,一直显示 500 报错 ♪ 分析 ⒈ 问题所在 ?...>"> 或者需要提交表单补充一行代码: {{ csrf_field() }} ......is_dir($path)){mkdir($path,0777);} ⒊ Laravel 处理 作为 PHP 开发流行框架,必然做了对文件上传功能集成,文件上传,可参考学习文档,以本人处理为例...相对于使用默认上传方法,会将文件存放到 "storage"目录,而进一步对该目录访问还需要添加软链接,感觉有点麻烦,所以我指定磁盘到 "public"目录即可 ⑵....可参考我之前一篇文章—— Laravel 文件上传功能实现,打开配置文件 config/filesystems.php ,向磁盘配置数组添加一个 url 'upload' => [

1.9K20

具有嵌套关系可重用API资源——Laravel5.5

这个命令会从 Laravel 官方存储库中下载最新版本 Laravel 5.5 代码并安装到名为 "responses" 文件夹。...· cd responses: 进入到新创建 "responses" 文件夹。· touch database/database.sqlite: 创建一个 SQLite 数据库文件,用于存储数据。... database/factories 目录下 PostFactory.php 文件,你会定义创建posts模型时所用数据格式和规则。...也就是 app 目录下 User.php 文件,你会定义用户和posts之间关联关系,比如一对多关系(一个用户有多个posts)或其他关系。· 避免批量赋值app/Post.php<?...重命名资源(修复遗留问题)之前创建了一个名为UsersWithPostsResource资源。让我们将其重命名为UsersResource,并了解如何在以下步骤重用它。 5.

11610

Laravel-博客实战+踩坑laravel-blog最终效果踩

Ueditor嵌入 文章缩略图上传之uploadify(HTML5版本)引入 文章分页列表 文章编辑 文章删除 day4(8月03): 数据库迁移以及数据填充 友情链接增删改查 自定义导航 前台文章首页...、列表页、文章模板 前台模板数据共享 day5(8月04) 配置项模块创建 最新文章以及点击排行 公共侧边栏模板继承 文章页面信息以及详情 文章上一篇下一篇以及相关文章 项目地址 最终效果 ?...error.png 此时可以入口文件index.php打开session即可 ?...无法取到 项目路由配置时,所有路由是配置一个总路由分组,对这个分组添加了web中间件。...删掉这个中间件或者去掉这个路由分组,问题得到解决 时区设置 默认时区采用是UTC,需要手动改成东八区。PRCconfig下app.php文件里: ?

2.5K50
领券