定制 whilesmart/eloquent-files 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

whilesmart/eloquent-files

Composer 安装命令:

composer require whilesmart/eloquent-files

包简介

File upload and management package for Laravel applications

README 文档

README

File upload and management package for Laravel applications.

Installation

composer require whilesmart/eloquent-files

Configuration

Publish the configuration file:

php artisan vendor:publish --tag=files-config

Configuration Options

return [
    'disk' => 'public',           // Storage disk
    'upload_path' => 'uploads',   // Base path for uploads
    'max_size' => 5120,           // Max file size in KB (5MB)
    'allowed_mimes' => 'image',   // Allowed mime types
    'register_routes' => true,    // Auto-register routes
    'route_prefix' => 'api',      // Route prefix
    'route_middleware' => ['api', 'auth:sanctum'],
];

Usage

Adding Files to a Model

Add the HasFiles trait to any model that should own files:

use Whilesmart\Files\Traits\HasFiles;

class User extends Authenticatable
{
    use HasFiles;
}

API Endpoints

When routes are registered, the following endpoints are available:

  • GET /api/files - List files for authenticated user
  • POST /api/files - Upload a file
  • GET /api/files/{id} - Get file details
  • DELETE /api/files/{id} - Delete a file

Uploading Files

curl -X POST /api/files \
  -H "Authorization: Bearer {token}" \
  -F "file=@image.jpg"

Response Format

{
  "success": true,
  "data": {
    "id": 1,
    "filename": "upload_abc123_1234567890.jpg",
    "original_name": "image.jpg",
    "url": "http://example.com/storage/uploads/1/upload_abc123.jpg",
    "mime_type": "image/jpeg",
    "size": 102400,
    "metadata": {
      "width": 1920,
      "height": 1080
    },
    "created_at": "2024-01-01T00:00:00Z"
  }
}

Using the File Model Directly

use Whilesmart\Files\Models\File;

// Get user's files
$files = File::ownedBy($user)->get();

// Delete a file (removes from storage and database)
$file->deleteFile();

// Check ownership
if ($file->isOwnedBy($user)) {
    // ...
}

Testing

composer test

License

MIT

统计信息

  • 总下载量: 95
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-02-03

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固