Laravel使用自帶的檔案系統實現檔案上傳
這算是觀看慕課網是的視訊然後寫的一篇筆記
介紹:Laravel自己的檔案系統
Laravel的檔案系統是基於Frank de Jonge的Flysystem擴充套件包
提供了簡單的介面,可以操作本地端空間,Amazon S3 、Rackspace Cloud Storage
可以非常簡單的切換不同的儲存方式,但仍使用相同的API操作
實際操作步驟如下:
1、首先在config下找到filesystems.php檔案上傳的配置檔案
新建一個專門儲存上傳檔案的磁碟
在disks下,增加一個本地的uploads磁碟
'uploads' => [ 'driver' => 'local', 'root' => storage_path('app/uploads'), 'url' => env('APP_URL').'/storage', ],
待會兒上傳檔案成功之後,檔案會儲存在storage/app/uploads下面
2、新建一個專門處理檔案的Controller
專案根目錄命令列執行:
php artisan make:controller FileController
在FileController中新建一個upload的方法
在routes/api.php中新增路由資訊
路由前改為any表示可以接受任何型別的請求
Route::any('/biz/file/upload', '[email protected]');
3、在resources/views/下新建檢視file/upload.blade.php
@extends('layouts.app') @section('content') <div class="container"> <div class="row"> <div class="col-md-8 col-md-offset-2"> <div class="panel panel-default"> <div class="panel-heading">檔案上傳</div> <div class="panel-body"> <form class="form-horizontal" role="form" method="POST" action="" enctype="multipart/form-data"> {{ csrf_field() }} <div class="form-group" > <label for="file" class="col-md-4 control-label">請選擇檔案</label> <div class="col-md-6"> <input id="file" type="file" class="form-control" name="source" required> </div> </div> <div class="form-group"> <div class="col-md-8 col-md-offset-4"> <button type="submit" class="btn btn-primary"> 確認上傳 </button> </div> </div> </form> </div> </div> </div> </div> </div> @endsection
將login.blade.php的內容複製過來並刪掉不需要的部分,修改文字內容,特別注意修改標黃的內容
4、然後在FileController的upload方法中載入file.upload的檢視
public function upload(Request $request){
return view('file.upload');
}
5、然後完善FileController的upload方法
public function upload(Request $request){ if($request->isMethod('POST')){ // var_dump($_FILES); $file = $request->file('source'); // dd($file); //檔案是否上傳成功 if($file->isValid()){ //獲取原檔名 $originalName= $file->getClientOriginalName(); //獲取檔案拓展名 $ext= $file->getClientOriginalExtension(); $type= $file->getClientMimeType(); //獲取檔案臨時絕對路徑 $realPath = $file->getRealPath(); //自定義檔案儲存的名稱 $fileName = date('Y-m-d-H-i-s').'-'.uniqid().'.'.$ext; $bool= \Storage::disk('uploads')->put($fileName,file_get_contents($realPath)); var_dump($bool); } exit; } return view('file.upload'); }
點選“選擇檔案”按鈕,選擇要上傳的檔案,再點選“確認上傳”按鈕
然後返回boolean true ,表示上傳檔案成功
在storage/app/uploads可以看到上傳的檔案。
相關推薦
使用SpringMV自帶的CommonsMultipartFile實現圖片上傳功能
說明 1.前端上傳檔案必須用表單上傳 /** * 上傳圖片 * * @param params * @return */ @RequestMapping(value = "/uploadImage"
Laravel使用自帶的檔案系統實現檔案上傳
這算是觀看慕課網是的視訊然後寫的一篇筆記 介紹:Laravel自己的檔案系統 Laravel的檔案系統是基於Frank de Jonge的Flysystem擴充套件包 提供了簡單的介面,可以操作本地端空間,Amazon S3 、Rackspace Cloud S
用微軟自帶的FileUpload控制元件上傳檔案報錯
解決方法:在WebConfig 中 增加<system.web> <httpRuntime useFullyQualifiedRedirectUrl="true" maxRequestLength="104857" executionTimeout=
Xcode自帶git將本地專案上傳到GitHub
1.cd到你的專案目錄下 2.git init 3.git add . 4.git commit -m "first commit" 5.git remote add origin https://github.com/icefishlily/audioPlayer_2.git//換成你自己的u
[原始碼和文件分享]程式設計實現根據NTFS檔案系統定位檔案在磁碟上的偏移地址
背景 之前在上一篇博文中 “NTFS檔案系統介紹及檔案定位” 介紹過 NTFS 的基礎概念和常用格式介紹,同時還詳細給出了使用 NTFS 定位磁碟檔案的例子。現在,這篇文章講解的就是,程式設計實現 NTFS 檔案定位。也就是把之前手動定位全部改成程式設計實現,輸入一個檔案路徑,就可以得到檔案的大
用socket自定義簡單協議實現檔案上傳與接受
一個上傳的資料包,主要包含檔案頭和檔案內容倆部分,主要按下面的格式,傳送: "File-Name:xxxxxx.zip;File-Type:exe;File-Length:1029292\r\n" ------檔案內容--------- 1、服務端的檔案接受服務 MySoc
不帶外掛 ,自己寫js,實現批量上傳檔案及進度顯示
今天接受專案中要完成檔案批量上傳檔案而且還要顯示上傳進度,一開始覺得這個應該不是很麻煩,當我在做的時候遇到了很多問題,很頭疼啊。 不過看了別人寫的程式碼,自己也測試過,發現網上好多都存在一些問題,並不是自己想要的。然後自己查閱各種資料,經過自己總結,最終完成了這個功能。
分散式檔案系統FastDFS簡介、搭建、與SpringBoot整合實現圖片上傳
之前大學時搭建過一個FastDFS的圖片伺服器,當時只是抱著好奇的態度搭著玩一下,當時搭建採用了一臺虛擬機器,tracker和storage服務在一臺機器上放著,最近翻之前的部落格突然想著在兩臺機器上搭建試一下,順便整合了SpringBoot實現了一下圖片的上傳服務。 新的閱讀體驗地址:http://www
.NET快速資訊化系統開發框架 V3.2->Web版本新增“檔案管理中心”集上傳、下載、檔案共享等一身,非常實用的功能
檔案中心是3.2版本開始新增的一個非常實用功能,可以歸檔自己平時所需要的檔案,也可以把檔案分享給別人,更像一個知識中心。檔案中心主介面如下圖所示,左側“我的網盤”展示了使用者對檔案的分類,只能自己看到,“公共盤”中的檔案所有使用者都可以看到。選擇一個分類,右側列出了當前分類的所有檔案(第一列
Xcode自帶工具 FileMerge 進行檔案比較、合併
FileMerge 是XCode自帶的一款工具,可進行程式碼比較、合併。 1、在應用程式中找到Xcode右鍵選擇顯示包內容,路徑如下圖,可複製快捷鍵方便使用。 也可以直接開啟Xcode,在Open Developer Tool中開啟,如下圖。 如下圖: 2、開啟FileMerge,如下圖,選擇左右
檔案系統實現
檔案系統實現 檔案系統結構 磁碟提供大量的外部空間來維持檔案系統。磁碟的下述兩個特點,使其成為儲存多個檔案的方便介質: 可以原地重寫,可以從磁碟上讀一塊,修改該快,並將它寫回到原來的位置。 可以直接訪問磁碟上的任意一塊資訊。因此,可以簡單地順序或隨機地
Struts框架上傳下載檔案輔助類,簡單實現Struts上傳圖片以及下載
首先在看這篇文章的前提下,你得會用Struts框架,有一定的基礎瞭解,說白了瞭解怎麼搭建就行了,然後基本就能順利執行本篇文章的Demo,當然這個類不僅僅侷限於圖片上傳下載的,因為是自己用流寫的方法所以可以支援其他檔案上傳下載。
ajax實現非同步上傳檔案
html+js程式碼 <form action="" enctype="multipart/form-data" id="upForm"> {{csrf_field()}} <input type="text" name="name" value="
用java實現ftp上傳檔案
實際專案需求:從資料庫查詢資訊,在本地生成檔案,再上傳到ftp 所用Jar包:NetComponents.jar 核心程式碼: import java.io.File; import java.io.FileInputStream; import java.io.IOExcepti
上機考試系統 commons-fileupload 上傳與下載 && 壓縮為 zip 檔案 && 刪除資料夾下所有內容
在 maven 中使用了 commons-fileupload,使用方法: (一)上傳 1-1.前端介面 <form action="" enctype="multipart/form-data" class="modifyall" method="post
java實現FTP上傳(檔案)、下載(檔案、資料夾、資料夾遞迴)、刪除(檔案、資料夾遞迴)
提示:必須先保證有在FTP上上傳、下載、刪除的許可權! 本文結構 ---- 先給出測試樣例(圖片版),再給出工具類程式碼(文字版)! 上傳測試 注意:.uploadFile(String remoteDir, String remoteFileName, F
Java實現FTP上傳檔案到Linux伺服器的那些坑
一、Linux安裝FTP服務 首先Linux伺服器需要安裝FTP服務,步驟如下: 1、執行如下ftp服務安裝命令: yum install vsftpd 可能會出現如下錯誤: "Couldn't open file /m
基於檔案系統實現可追加的資料集市
一 問題背景 絕大多數的應用系統中,一開始資料的儲存和計算基本都是由資料庫來完成的,同時服務於業務交易和報表查詢;不過在經過幾年資訊化建設和資料積累後,常常都會遇到資料庫壓力變大,從而導致效能瓶頸的問題。 究其原因,往往發現針對歷史資料查詢的報表在其中佔了很大比重。進
windows中拖動檔案到瀏覽器,實現自動上傳 -- Java
//拖動License檔案到瀏覽器中,自動讀取檔案並上傳var dropbox = $("body")[0];dropbox.addEventListener("dragenter", function(e){ e.stopPropagation(); e.preventDefault();},
.NET快速資訊化系統開發框架 V3.2->Web版本新增“檔案管理中心”集上傳、下載、檔案共享等一身,非常實用的功能
檔案中心是3.2版本開始新增的一個非常實用功能,可以歸檔自己平時所需要的檔案,也可以把檔案分享給別人,更像一個知識中心。檔案中心主介面如下圖所示,左側“我的網盤”展示了使用者對檔案的分類,只能自己看到,“公共盤”中的檔案所有使用者都可以看到。選擇一個分類,右側列出了當前分類的所有檔案(第一列會根據檔案的型