All Projects → GeneaLabs → nova-file-upload-field

GeneaLabs / nova-file-upload-field

Licence: MIT license
The easiest drag-and-drop file uploading field for Laravel Nova.

Programming Languages

Vue
7211 projects
PHP
23972 projects - #3 most used programming language
SCSS
7915 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to nova-file-upload-field

checkout
Laravel Cart, Checkout, Orders and Coupons API with Nova Management
Stars: ✭ 36 (-32.08%)
Mutual labels:  nova
simple-file-uploader
A file uploader written using HTML5 and Node.js. It can upload both to a local directory on the server or to an AWS S3 server.
Stars: ✭ 85 (+60.38%)
Mutual labels:  file-upload
nova-algolia-card
A Laravel Nova card for Algolia
Stars: ✭ 22 (-58.49%)
Mutual labels:  nova
local-cloud
Turn any computer at home into a cloud for easy sharing of files across your devices.
Stars: ✭ 70 (+32.08%)
Mutual labels:  file-upload
djfiles
DJFiles is a simple Django app for manage static files of your project via admin panel.
Stars: ✭ 17 (-67.92%)
Mutual labels:  file-upload
bin
highly opinionated, minimal pastebin
Stars: ✭ 97 (+83.02%)
Mutual labels:  file-upload
Django-WebApp
This is a web-app created using Python, Django. By using this user can login, upload files and also can view and download files uploaded by other users.
Stars: ✭ 285 (+437.74%)
Mutual labels:  file-upload
express-file-upload
Node.js Express Upload/Download File Rest APIs example with Multer
Stars: ✭ 64 (+20.75%)
Mutual labels:  file-upload
kodbox
kodbox is a file manager for web. It is a newly designed product based on kodexplorer. It is also a web code editor, which allows you to develop websites directly within the web browser.You can run kodbox either online or locally,on Linux, Windows or Mac based platforms
Stars: ✭ 1,188 (+2141.51%)
Mutual labels:  file-upload
django-constrainedfilefield
This Django app adds a new field, ConstrainedFileField, which adds the capability of checking the document size and type
Stars: ✭ 26 (-50.94%)
Mutual labels:  file-upload
nova-money-field
Money Field for Laravel Nova
Stars: ✭ 71 (+33.96%)
Mutual labels:  nova
nova-permissions
Add Permissions based authorization for your Nova installation via User-based Roles and Permissions. Roles are defined in the database whereas Permissions are defined in the code base.
Stars: ✭ 115 (+116.98%)
Mutual labels:  nova
Transfer.sh
Easy file sharing from your Android device!
Stars: ✭ 14 (-73.58%)
Mutual labels:  file-upload
nova-relationship-selector
Laravel Nova - Relationship Selector
Stars: ✭ 26 (-50.94%)
Mutual labels:  nova
nova-phone-number
A Laravel Nova field to format and validate phone numbers.
Stars: ✭ 60 (+13.21%)
Mutual labels:  nova
jQuery-File-Upload-for-java
Used klaalo / jQuery-File-Upload-Java and modified (https://github.com/klaalo/jQuery-File-Upload-Java)
Stars: ✭ 29 (-45.28%)
Mutual labels:  file-upload
react-native-tus-client
React Native client for the tus resumable upload protocol.
Stars: ✭ 38 (-28.3%)
Mutual labels:  file-upload
nova-select-plus
A Laravel Nova Select Field
Stars: ✭ 67 (+26.42%)
Mutual labels:  nova
nova-chartjs
A Chart JS component for Laravel Nova
Stars: ✭ 47 (-11.32%)
Mutual labels:  nova
IphpFileStoreBundle
Symfony 2 file upload for doctrine entities
Stars: ✭ 51 (-3.77%)
Mutual labels:  file-upload

File Upload Field for Laravel Nova

GitHub (pre-)release Packagist GitHub license

File Upload Field for Laravel Nova

Supporting This Package

This is an MIT-licensed open source project with its ongoing development made possible by the support of the community. If you'd like to support this, and our other packages, please consider becoming a backer or sponsor on Patreon.

We thank the following sponsors for their generosity, please take a moment to check them out:

Impetus

I needed a file upload field for a few of my projects, with the versatile functionality that worked across all modern browsers in various use-cases. Safari has issues with drag-dropping URLs (it converts them to webloc files), different browsers have different little quircks in how they behave (Safari triggers change on input fields when they are updated programatically, Chrome does not in the case of changing files on a file input field).

Functionality

The following features set this form field appart from others:

  • drag-and-drop of URLs
  • drag-and-drop of links that point to files
  • drag-and-drop of web files (any web element with a src attribute that points to a file)
  • drag-and-dop of system files
  • image previews
  • any uploadable items (files, URLs, links) are available in the request as an UploadedFile object in Laravel's Request object

Installation

composer require genealabs/nova-file-upload-field

Usage

Add it as a field in your Nova resource, for example:

<?php namespace App\Nova;

use GeneaLabs\NovaFileUploadField\FileUpload;
use Laravel\Nova\Fields\ID;
use Laravel\Nova\Fields\Text;
use Laravel\Nova\Fields\Textarea;

class Image extends Resource
{
    public static $model = 'App\Image';
    public static $title = 'title';
    public static $search = [
        "id",
        "description",
        "title",
    ];

    public function fields(Request $request)
    {
        return [
            ID::make()
                ->sortable(),
            Text::make("Title", "title")
                ->sortable()
                ->rules("required", "max:255"),
            FileUpload::make("Image", "path")
                ->thumbnail(function ($image) {
                    return $image
                        ? asset($image)
                        : '';
                })
                ->disk("tenant")
                ->path("media")
                ->prunable(),
            Textarea::make("Description"),
        ];
    }
}

Commitment to Quality

During package development I try as best as possible to embrace good design and development practices, to help ensure that this package is as good as it can be. My checklist for package development includes:

  • Achieve as close to 100% code coverage as possible using unit tests.
  • Eliminate any issues identified by SensioLabs Insight and Scrutinizer.
  • Be fully PSR1, PSR2, and PSR4 compliant.
  • Include comprehensive documentation in README.md.
  • Provide an up-to-date CHANGELOG.md which adheres to the format outlined at http://keepachangelog.com.
  • Have no PHPMD or PHPCS warnings throughout all code.

Contributing

Please observe and respect all aspects of the included Code of Conduct https://github.com/GeneaLabs/laravel-model-caching/blob/master/CODE_OF_CONDUCT.md.

Reporting Issues

When reporting issues, please fill out the included template as completely as possible. Incomplete issues may be ignored or closed if there is not enough information included to be actionable.

Submitting Pull Requests

Please review the Contribution Guidelines https://github.com/GeneaLabs/laravel-model-caching/blob/master/CONTRIBUTING.md. Only PRs that meet all criterium will be accepted.

If you ❤️ open-source software, give the repos you use a ⭐️.

We have included the awesome symfony/thanks composer package as a dev dependency. Let your OS package maintainers know you appreciate them by starring the packages you use. Simply run composer thanks after installing this package. (And not to worry, since it's a dev-dependency it won't be installed in your live environment.)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].