UNPKG

@yazan.alnughnugh/file-upload

Version:

File upload component is created to help you upload files using vuejs and ajax

113 lines (71 loc) 2.88 kB
![npm](https://img.shields.io/npm/dm/@yazan.alnughnugh/file-upload) ![npm](https://img.shields.io/npm/v/@yazan.alnughnugh/file-upload) [![StyleCI](https://github.styleci.io/repos/452773969/shield?branch=master)](https://github.styleci.io/repos/452773969?branch=master) <h2 align="center">Supporting Upload file component</h2> - [Become sponsor on Patreon](https://www.patreon.com/yazan_alnughnugh). - [One-time donation via crypto-currencies](https://github.com/yazan-alnugnugh/laravel-datatable/blob/master/_docs/Donations/crypto/index.md). # Introduction <p align="center"> <img src="art/intro-image.png" alt="laravel-vue-datatable intro image"> </p> **Are you looking for an easy way to upload files, this is what are you looking for.** This is a vue component for uploading files using ajax. It contain amazing features, you can use it easily without any complexity. ## Features - Preview files before upload - Multi-file upload - Drag and Drop files - Upload multiple files at the same time - Delete/Delete all - Cancel/Cancel all - Chunk upload ## Official Documentation Documentation for File Upload can be found here [here](https://packages.tourismcaravan.com/docs/1/file-upload) ## Demo [File Upload Demo](https://packages.tourismcaravan.com/uploads) ## Requirements * [Tailwind](https://tailwindcss.com/) => 3.* * [Axios](https://github.com/axios/axios) => 2.2.17* ## Installation To install and setup the component we will follow a few steps: #### step 1 ```bash npm install `@yazan.alnughnugh/file-upload ``` #### step 2 Vue 2 ```javascript // app/resources/js/app.js Vue.component('file-upload', require('@yazan.alnughnugh/file-upload').default); ``` Vue 3 ```javascript // app/resources/js/app.js import FileUpload from '@yazan.alnughnugh/file-upload'; const app = createApp(options); app.component('file-upload', FileUpload); app.mount('#app'); ``` ## Usage To start use the component we will add a component to your blade file with three props, ```url``` is the url where you want to send request to it, ```id``` if you want to send model id with request, ```label``` here you can add your description. ```html // resources/posts/create.blade.php <file-upload :url="url" :id="id" :label="label"></file-upload> ``` #### Request The request will be the same as bellow, The files will be sent one By one , one request for each file. ```php // resources/posts/create.blade.php [ "id" => "9", // if you added id "file" => File , // this is our file ] ; ``` ## Configuration | Name | Type | Default | Description | --- | --- | --- | --- | | `url ` | String | "/" | is the url where you want to send request to it | | `id` | Number | null | if you want to send model id with request | | `label` | String | 'PNG, JPG, GIF up to 10MB' | here you can add your description |