Giter VIP home page Giter VIP logo

large_file_uploader's Introduction

Large File Uploader (Only Web)

A plugin for uploading large file in flutter web.

Let's get started

1 - Depend on it

Add it to your package's pubspec.yaml file
dependencies:
  large_file_uploader: ^0.0.7

2 - Install it

Install packages from the command line
flutter pub get

3 - Import it

Import it to your project
import 'package:large_file_uploader/large_file_uploader.dart';

4 - Copy It

Copy upload_worker.js to project public folder

How to use?

Simple usage
LargeFileUploader().selectFileAndUpload(
    uploadUrl:
      'https://baseurl.com/upload-path',
    data: {
      'title': 'My image', //Additional fields to send with file
    },
    headers: {
      'Authorization':
          'Bearer <accessToken>' 
    },
    onSendProgress: (progress) =>
        debugPrint('onSendProgress:$progress'),
    onComplete: () => debugPrint('onComplete'),
    onFailure: () => debugPrint('onFailure'),
  );
Advanced usage
  import 'dart:html' as html;
  import 'package:large_file_uploader/large_file_uploader.dart';

  ...

  final _largeFileUploader = LargeFileUploader();
  html.File? file; 
  html.File? thumbnail;

  _largeFileUploader._largeFileUploader.pick(
        type: FileTypes.video, 
        callback: (file) {
        pickedThumbnail = file;
    });
  );

  _largeFileUploader._largeFileUploader.pick(
        customType: 'image/jpeg', 
        callback: (file) {
        thumbnail = file;
    });
  );
  
  if(file != null){
    _largeFileUploader.upload(
        uploadUrl: url,
        headers: {"Authorization": "Bearer <accessToken>"},
        data: {"title": "My Image", "thumbnail": thumbnail, "file": file},
        onSendProgress: (progress) => debugPrint(progress.toString()),
        onComplete: (response) => debugPrint(response.toString()),
    );
  }
  

large_file_uploader's People

Contributors

sobimor avatar rasouliali1379 avatar vimwarrior avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.