vadiasov / upload
Laravel包,用于使用dropzone.js进行多文件拖放上传
2.0.1
2018-03-16 17:35 UTC
Requires
- php: >=7.0
- illuminate/support: 5.*
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)
安装
- 在应用程序根目录的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)。
示例
- 第一父级 - 专辑
- 第二父级 - 我们为特定专辑的曲目上传的艺术品。