multipart_request_null_safety 0.3.4 copy "multipart_request_null_safety: ^0.3.4" to clipboard
multipart_request_null_safety: ^0.3.4 copied to clipboard

Demonstrates how to use the multipart_request_null_safety plugin, this plugin is null safety support version from the original plugin build by aawaz.dev all credits goes to him. the formal package r [...]

example/lib/main.dart

import 'package:flutter/material.dart';
import 'dart:async';
import 'dart:io';

import 'package:image_picker/image_picker.dart';
import 'package:flutter/services.dart';
import 'package:multipart_request_null_safety/multipart_request_null_safety.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String imagePath = "";
  var upload_progress;
  final ImagePicker picker = ImagePicker();

  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Multi Request Plugin example app'),
        ),
        body: Center(
          child: Column(
            mainAxisSize: MainAxisSize.min,
            children: <Widget>[
              if(upload_progress != null)
                Text("${upload_progress}%", style: TextStyle(color: Colors.green, fontSize: 15)),
            MaterialButton(
                onPressed: () async {
                PickedFile? image = await picker.getImage(source: ImageSource.gallery);
                  if(image != null)
                  {
                    imagePath = image.path;
                  }
                },
                child: const Text("Pick an image")
              ),
              MaterialButton(
                child: const Text("Call multipart request"),
                onPressed: () {
                  sendRequest();
                },
              ),
            ],
          ),
        ),
      ),
    );
  }

  void sendRequest() {
    var request = MultipartRequest();
    var url = "THE URL TO THE SERVER";
    request.setUrl(url);
    request.addFile("photo", imagePath);
    Response response = request.send();

    response.onError = () {
      setState(() {
        upload_progress = "something went wrong while uploading\ncheck your internet connection!";
      });
    };

    response.onComplete = (response) {
      setState(() {
        upload_progress = null;
      });
    };

    response.progress.listen((int progress) {
      setState(() {
        upload_progress = progress;
      });
    });

  }
}
2
likes
120
points
8
downloads

Publisher

unverified uploader

Weekly Downloads

Demonstrates how to use the multipart_request_null_safety plugin, this plugin is null safety support version from the original plugin build by aawaz.dev all credits goes to him. the formal package repo is at https://github.com/awazgyawali/multipart_request

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on multipart_request_null_safety

Packages that implement multipart_request_null_safety