| คลาวด์ | อัพโหลดไฟล์หลายไฟล์ | Base64 รูปภาพอัปโหลด | อัปโหลดไฟล์เซิร์ฟเวอร์ |
|---|---|---|---|
| - คลาวด์ส่วนตัว | - | ||
| - Alibaba Cloud | |||
| - เมฆ tencent | |||
| - คลาวด์ Qiniu | |||
| - Amazon (S3) |
composer require tinywan/storage $ res = Tinywan Storage Storage:: uploadFile ();
var_dump ( json_encode ( $ res ));
หลังจากv1.0.0วิธีนี้ไม่จำเป็นต้องเรียกหลังจากการเริ่มต้นTinywanStorageStorage::config()มันจะเริ่มต้นโดยอัตโนมัติ การกำหนดค่าเริ่มต้นคือไฟล์กำหนดค่าapp.phpAdapter การกำหนดค่าการกำหนดค่าการกำหนดค่าเริ่มdefault
[
{
"key" : " webman " ,
"origin_name" : "常用编程软件和工具.xlsx " ,
"save_name" : " 03414c9bdaf7a38148742c87b96b8167.xlsx " ,
"save_path" : " runtime/storage/03414c9bdaf7a38148742c87b96b8167.xlsx " ,
"save_path" : " /var/www/webman-admin/public/storage/03414c9bdaf7a38148742c87b96b8167.xlsx " ,
"url" : " /storage/fd2d472da56c71a6da0a5251f5e1b586.png " ,
"uniqid " : " 03414c9bdaf7a38148742c87b96b8167 " ,
"size" : 15050 ,
"mime_type" : " application/vnd.openxmlformats-officedocument.spreadsheetml.sheet " ,
"extension" : " xlsx "
}
...
]ล้มเหลวการขว้าง
StorageAdapterException
| ทุ่งนา | อธิบาย | ค่าตัวอย่าง |
|---|---|---|
| สำคัญ | อัปโหลดคีย์ไฟล์ | คนเว็บ |
| Origin_name | ชื่อไฟล์ต้นฉบับ | ซอฟต์แวร์และเครื่องมือการเขียนโปรแกรมทั่วไป xlsx |
| save_name | บันทึกชื่อไฟล์ | 03414C9BDAF7A38148742C87B96B8167.XLSX |
| save_path | พา ธ การบันทึกไฟล์ (ญาติ) | /var/www/webman-admin/runtime/storage/03414c9bdaf7a38148742c87b96b8167.xlsx |
| url | เส้นทางการเข้าถึง URL | /storage/03414C9BDAF7A38148742C87B96B8167.XLSX |
| ไม่ซ้ำกัน _id | uniqid | 03414C9BDAF7A38148742C87B96B8167 |
| ขนาด | ขนาดไฟล์ | 15050 (ไบต์) |
| mime_type | ประเภทไฟล์ | แอปพลิเคชัน/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| ส่วนขยาย | ส่วนขยายไฟล์ | XLSX |
โดยค่าเริ่มต้นจะถูกอัปโหลดไปยังเซิร์ฟเวอร์ท้องถิ่น ไฟล์ที่มีวันที่ปัจจุบันเป็นไดเรกทอรีย่อยและชื่อไฟล์ที่เข้ารหัสโดย SHA1 ของสตรีมไฟล์จะถูกสร้างขึ้นภายใต้ไดเรกทอรี runtime/storage ตัวอย่างเช่นชื่อไฟล์ที่สร้างขึ้นข้างต้นอาจเป็น:
runtime/storage/fd2d472da56c71a6da0a5251f5e1b586.png
หากคุณต้องการให้ไฟล์ที่อัปโหลดสามารถเข้าถึงได้โดยตรงหรือดาวน์โหลดคุณสามารถใช้วิธีการจัดเก็บ public
คุณสามารถกำหนดค่าไดเรกทอรีรูทอัปโหลดได้ในไฟล์กำหนด config/plugin/tinywan/storage/app.php ตัวอย่างเช่น:
' local ' => [
' adapter ' => Tinywan Storage Adapter LocalAdapter::class,
' root ' => public_path () . ' /storage ' ,
],การเข้าถึงเบราว์เซอร์: http://127.0.0.1:8787/storage/fd2d472da56c71a6da0a5251f5e1b586.png
รองรับการตรวจสอบไฟล์ที่อัปโหลดโดยใช้คลาสการตรวจสอบรวมถึงขนาดไฟล์ประเภทไฟล์และคำต่อท้าย
| ทุ่งนา | อธิบาย | ค่าตัวอย่าง |
|---|---|---|
| single_limit | ขีด จำกัด ขนาดสำหรับไฟล์เดียวเริ่มต้น 200 ม. | 1024 * 1024 * 200 |
| total_limit total_limit | ขีด จำกัด ขนาดไฟล์ทั้งหมดเริ่มต้น 200 ม. | 1024 * 1024 * 200 |
| คนโง่ | ขีด จำกัด หมายเลขไฟล์ค่าเริ่มต้น 10 | 10 |
| รวม | รายการประเภทไฟล์ที่อนุญาต | ['XLSX', 'PDF'] |
| แยกออก | รายการประเภทไฟล์ที่ไม่ได้รับอนุญาต | ['png', 'jpg'] |
composer require aliyuncs/oss-sdk-phpcomposer require qcloud/cos-sdk-v5composer require qiniu/php-sdkcomposer require league/flysystem-aws-s3-v3ใช้สถานการณ์สถานการณ์: ภาพหน้าจอโดยตรงของส่วนหน้า (ava, canvas ฯลฯ ) รูปภาพของสตรีมข้อมูล Base64 จะถูกอัปโหลดโดยตรงไปยังคลาวด์
{
"extension" : " png " ,
"base64" : " data:image/jpeg;base64,/9j/4AAQSkxxxxxxxxxxxxZJRgABvtyQBIr/MPTPTP/2Q== "
} public function upload ( Request $ request )
{
$ base64 = $ request -> post ( ' base64 ' );
$ response = Tinywan Storage Storage:: disk ( Tinywan Storage Storage:: MODE_OSS , false )-> uploadBase64 ( $ base64 , ' png ' );
var_dump ( $ response );
}
หลังจากv1.0.0วิธีนี้ไม่จำเป็นต้องเรียกหลังจากการเริ่มต้นTinywanStorageStorage::config()มันจะเริ่มต้นโดยอัตโนมัติ การกำหนดค่าเริ่มต้นคือไฟล์กำหนดค่าapp.phpAdapter การกำหนดค่าการกำหนดค่าการกำหนดค่าเริ่มdefault
{
"save_path" : " storage/20220402213639624851671439e.png " ,
"url" : " http://webman.oss.tinywan.com/storage/20220402213639624851671439e.png " ,
"unique_id" : " 20220402213639624851671439e " ,
"size" : 11802 ,
"extension" : " png "
}สถานการณ์การใช้งาน: ไฟล์การส่งออกเซิร์ฟเวอร์จะต้องอัปโหลดไปยังที่เก็บข้อมูลบนคลาวด์หรือดาวน์โหลดที่การจัดเก็บไฟล์เป็นศูนย์เวลา
$ serverFile = runtime_path () . DIRECTORY_SEPARATOR . ' storage/webman.png ' ;
$ res = Tinywan Storage Storage:: disk ( Tinywan Storage Storage:: MODE_OSS , false )-> uploadServerFile ( $ serverFile );
หลังจากv1.0.0วิธีนี้ไม่จำเป็นต้องเรียกหลังจากการเริ่มต้นTinywanStorageStorage::config()มันจะเริ่มต้นโดยอัตโนมัติ การกำหนดค่าเริ่มต้นคือไฟล์กำหนดค่าapp.phpAdapter การกำหนดค่าการกำหนดค่าการกำหนดค่าเริ่มdefault
{
"origin_name" : " /var/www/webman-admin/runtime/storage/webman.png " ,
"save_path" : " storage/6edf04d7c26f020cf5e46e6457620220402213414.png " ,
"url" : " http://webman.oss.tinywan.com/storage/6ed9ffd54d0df57620220402213414.png " ,
"unique_id" : " 6edf04d7c26f020cf5e46e6403213414 " ,
"size" : 3505604 ,
"extension" : " png "
} vendor/bin/phpstan analyse src
vendor/bin/php-cs-fixer fix src