| Nube | Subidas de múltiples archivos | Carga de la imagen base64 | Carga del archivo del servidor |
|---|---|---|---|
| ? Nube privada | ✅ | - | ✅ |
| ? Nube de alibaba | ✅ | ✅ | ✅ |
| ? Nube de tencent | ✅ | ✅ | ✅ |
| ? Nube de qiniu | ✅ | ✅ | ✅ |
| ? Amazon (S3) | ✅ | ✅ | ✅ |
composer require tinywan/storage $ res = Tinywan Storage Storage:: uploadFile ();
var_dump ( json_encode ( $ res ));
Después dev1.0.0, no es necesario llamar a este método después de la inicializaciónTinywanStorageStorage::config(), se inicializará automáticamente. La configuración predeterminada es el adaptador de configuración de configuración dedefaultapp.php.
[
{
"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 "
}
...
]Falló, lanzando la excepción de
StorageAdapterException
| Campos | describir | Valores de ejemplo |
|---|---|---|
| llave | Tecla de archivo de carga | webman |
| origen_name | Nombre de archivo original | Software y herramientas de programación común.xlsx |
| save_name | Guardar el nombre del archivo | 03414c9bdaf7a38148742c87b96b8167.xlsx |
| save_path | Ruta de guardado de archivos (pariente) | /var/www/webman-admin/runtime/storage/03414c9bdaf7a38148742c87b96b8167.xlsx |
| url | Ruta de acceso de URL | /storage/03414c9bdaf7a38148742c87b96b8167.xlsx |
| único_id | Uniqid | 03414C9BDAF7A38148742C87B96B8167 |
| tamaño | Tamaño de archivo | 15050 (bytes) |
| mime_type | Tipo de archivo | aplicación/vnd.openxmlFormats-oftededOcument.spreadsheetml.sheet |
| extensión | Extensión de archivo | xlsx |
Por defecto, se carga al servidor local. Un archivo con la fecha actual como subdirectorio y el nombre del archivo codificado por el SHA1 de la transmisión del archivo se generará en runtime/storage . Por ejemplo, el nombre del archivo generado anteriormente puede ser:
runtime/storage/fd2d472da56c71a6da0a5251f5e1b586.png
Si desea que el archivo cargado sea directamente accesible o descargado, puede usar el método de almacenamiento public .
Puede configurar el directorio root de carga en el archivo de configuración config/plugin/tinywan/storage/app.php , por ejemplo:
' local ' => [
' adapter ' => Tinywan Storage Adapter LocalAdapter::class,
' root ' => public_path () . ' /storage ' ,
],Acceso al navegador: http://127.0.0.1:8787/storage/FD2D472DA56C71A6DA0A5251F5E1B586.PNG
Admite la verificación de archivos cargados utilizando clases de verificación, incluido el tamaño del archivo, el tipo de archivo y el sufijo
| Campos | describir | Valores de ejemplo |
|---|---|---|
| single_limit | El límite de tamaño para un solo archivo, predeterminado 200 m | 1024 * 1024 * 200 |
| Total_limit Total_limit | Todo el límite de tamaño de archivos, predeterminado 200 m | 1024 * 1024 * 200 |
| numeros | Límite de número de archivo, predeterminado 10 | 10 |
| incluir | Lista de tipos de archivos permitidos | ['xlsx', 'pdf'] |
| excluir | Lista de tipos de archivos no autorizados | ['PNG', 'JPG'] |
composer require aliyuncs/oss-sdk-phpcomposer require qcloud/cos-sdk-v5composer require qiniu/php-sdkcomposer require league/flysystem-aws-s3-v3Use el escenario: captura de pantalla directa del front-end (AVA, lienzo, etc.) Una imagen de la secuencia de datos Base64 se carga directamente en la nube
{
"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 );
}
Después dev1.0.0, no es necesario llamar a este método después de la inicializaciónTinywanStorageStorage::config(), se inicializará automáticamente. La configuración predeterminada es el adaptador de configuración de configuración dedefaultapp.php.
{
"save_path" : " storage/20220402213639624851671439e.png " ,
"url" : " http://webman.oss.tinywan.com/storage/20220402213639624851671439e.png " ,
"unique_id" : " 20220402213639624851671439e " ,
"size" : 11802 ,
"extension" : " png "
}Escenario de uso: los archivos de exportación del servidor deben cargarse en el almacenamiento en la nube o descargarse en el almacenamiento de archivos de tiempo cero.
$ serverFile = runtime_path () . DIRECTORY_SEPARATOR . ' storage/webman.png ' ;
$ res = Tinywan Storage Storage:: disk ( Tinywan Storage Storage:: MODE_OSS , false )-> uploadServerFile ( $ serverFile );
Después dev1.0.0, no es necesario llamar a este método después de la inicializaciónTinywanStorageStorage::config(), se inicializará automáticamente. La configuración predeterminada es el adaptador de configuración de configuración dedefaultapp.php.
{
"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