vadiasov/upload

Laravel包,用于使用dropzone.js进行多文件拖放上传

安装次数: 28

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 1

开放问题: 0

语言:JavaScript

2.0.1 2018-03-16 17:35 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:14:53 UTC


README

PHP配置

PHP必须能够上传您的文件。这意味着upload_max_filesize和post_max_size必须设置为适当的值。

例如

找到php.ini。在工作文件中插入

<?php
phpinfo();

在任何浏览器中打开此文件。查看php.ini的位置。在终端中打开它。例如(Ubuntu 16.04)

sudo nano /etc/php/7.0/fpm/php.ini

找到upload_max_filesize和post_max_size并更改它们的值。例如

post_max_size=128M
upload_max_filesize=128M

然后您需要重新启动PHP。例如

service php7.0-fpm restart

之后,再次检查phpinfo()以确保PHP已获取新值。

准备工作

您需要一个用于上传文件的目录。首先决定您想在何处放置上传的文件。通常是在storage/app/public的某个子目录中。

当您决定了子目录

  • 在配置中写入它(参见下一节)
  • 在真实文件系统中创建它
  • 获取适当的访问权限(777)

安装

  1. 在应用程序根目录的composer中创建行
"require": {
      ...
        "vadiasov/upload": "^1.0",
      ...  
    },

2.在您的终端中运行

cd your_application_root
composer update

3.此包具有发现功能。因此,它必须自己创建config/app.com中的ServiceProvider行

/*
 * Package Service Providers...
 */
...
Vadiasov\Upload\UploadServiceProvider::class,

4.发布资源。dropzone.js和dropzone.css将从包中复制到public/js和css目录中。5.编辑将用于外部控制器以启动上传的配置文件(例如:config/upload-admin.php):

return [
    'rules'              => [
        'url'           => '/arts-store',
        'acceptedFiles' => 'image/*',
        'maxFilesize'   => '250000',
    ],
    'path'               => '/app/public/arts/',
    'db_table'           => 'arts',
    'id_item'            => 'album_id',
    'id_item_2'          => '',
    'column'             => 'file',
    'backUrl'            => '\Vadiasov\ArtsAdmin\Controllers\ArtsController@index',
    'pageHeader'         => 'Arts',
    'header'             => 'Add arts to the album ',
    'parent_table'       => 'albums',
    'parent_column_name' => 'title',
    'view'               => 'upload_3',
];

5.1.对于单个父级

return [
    'rules'                  => [
        'url'           => '/items-store',
        'acceptedFiles' => 'image/*',
        'maxFilesize'   => '250000',
    ],
    'path'                   => '/app/public/arts/',
    'db_table'               => 'arts',
    'id_item'                => 'album_id',
    'id_item_2'              => 'track_id',
    'column'                 => 'file',
    'backUrl'                => '\Vadiasov\ArtsAdmin\Controllers\ArtsController@indexTrack',
    'pageHeader'             => 'Arts',
    'header'                 => 'Add arts to the track ',
    'header_second_part'     => ' of the album ',
    'parent_db_table'        => 'albums',
    'sub_parent_db_table'    => 'tracks',
    'parent_column_name'     => 'title',
    'sub_parent_column_name' => 'title',
    'view'                   => 'upload_4',
];
  • 5.1.对于双亲级情况
  • 其中url - 包控制器函数的包路由,用于处理文件
  • acceptedFiles - 上传文件的MIME规则
  • maxFilesize - 可接受的最大文件大小
  • path - 上传文件目录的路径
  • db_table - 存储上传文件文件名的数据库表名
  • column - 存储上传文件文件名的表列名
  • id_item - 可以用于绑定上传文件的表列名。例如,"album_id",该专辑包含此文件(曲目)。
  • backUrl - 上传表单下“返回”按钮的路由名称(您上传了所有文件并点击它来返回到某处)。
  • header - 可插入到上传表单标题中的字符串(例如专辑的标题)。
  • parent_table - 父包的数据库表名。例如,可以用于获取专辑的标题。

parent_column_name - 父包的数据库表列名。例如,可以用于获取专辑的标题。

使用

'/tracks-upload/{config}/{id}'

打开具有单个父级的路由页面

'/tracks-upload/{config}/{first_parent_id}/{second_parent_id}'

打开具有双亲级的路由页面

  • config - 配置文件名称(参见第4节 - upload-admin)
  • id - 可以使用的参数(例如:包含上传曲目专辑的id)。

示例

  • 第一父级 - 专辑
  • 第二父级 - 我们为特定专辑的曲目上传的艺术品。