barradev/fileuploadmodule

用于Barra Dev Studio模块的文件上传模块

1.0 2021-03-25 14:36 UTC

This package is auto-updated.

Last update: 2024-09-25 22:29:38 UTC


README

此模块是用于上传文件或图像的模块,更确切地说,它依赖于Filepond。请确保先安装。

增加了一些功能

  1. 控制器,用于配置控制器
  2. 服务,用于通过模型与其他数据库进行通信,以及其他功能
  3. 迁移,用于迁移列

安装

composer require barradev/fileuploadmodule

安装成功后,运行以下命令

php artisan fileuploadmodule:publish

路由

添加以下路由

Route::prefix('upload')->group(function () {
    Route::post('uploadTemp', [UploadController::class, 'store'])->name('upload.temp');
    Route::delete('uploadRevert/{id}', [UploadController::class, 'revert'])->name('upload.revert');
});

根据Filepond的文档,将其添加到视图中

// head
<link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet" />

// script
<script src="https://unpkg.com/filepond/dist/filepond.js"></script>
<script>
    FilePond.registerPlugin(); // Kalau mau install plugin

    const inputElement = document.querySelector('input[id="file"]');    // id input file nya
    const pond = FilePond.create(inputElement);
    FilePond.setOptions({
        server: {
            process: "{{ route('upload.temp') }}",
            revert: (uniqueFileId, load, error) => {
                $.ajax({
                    url: "{{ url('upload/uploadRevert') }}/" + uniqueFileId,
                    method: 'DELETE',
                    headers: {
                        'X-CSRF-TOKEN': "{{ csrf_token() }}"
                    }
                })
            },
            headers: {
                'X-CSRF-TOKEN': "{{ csrf_token() }}"
            }
        },
        allowImagePreview: true,                // Optional harus install plugin dulu
        allowFileSizeValidation: true,          // Optional harus install plugin dulu
        imagePreviewHeight: 725,                // Optional harus install plugin dulu
        maxFileSize: "1024KB"                   // Optional harus install plugin dulu
    })
</script>