An ESP32 system that can perform a Directory, Upload, Download, Delete, Rename and Stream Files in SPIFFS

Overview

ESP-File-Server

An ESP32 system that can perform a Directory, Upload, Download, Delete, Rename and Stream Files in SPIFFS

Using an ESP32 to handle file upload, download, delete, rename and streaming

Using the ESPAsynchWebserver and the SPIFFS filing system, with functions for:

  1. Directory of SPIFFS files
  2. Upload a file to SPIFFS
  3. Download a file from SPIFFS to PC
  4. Stream a file to PC browser
  5. Rename a file in SPIFFS
  6. Delete a file in SPIFFS
  7. Display system information:
    • Upload and Download file size and transfer speeds
    • Filing system space and number of files
    • Processor system information
    • Network information
    • Setup Details

SETUP Instructions

  1. Download the two files to a folder
  2. Ensure the listed libraries are included in your IDE
  3. Click on the Credentials tab and edit the file accordingly:
  4. If you do-not want accerss control then comment out the line #define AccessControl
  5. If using access control: update the value for http_username and http_password .e.g. admin and admin
  6. Update the logical server address name (if required) e.g. 'fileserver' or 'myserver'
  7. Update the Wi-Fi Credentials to your own
  8. Compile and upload

Access the server with http://fileserver/ or http://filserver.local

Or monitor the serial port and note the IP address then use your browser to connect to e.g. http://192.168.0.22/

Programme Notes:

  1. It uses the ESP Asynchronous Webserver so there is nothing in the loop() section!
  2. The webserver is event based (asynchronous), each event generates a response, there is no need to poll for client connections in the loop section
  3. There are test files to try out uploading and download, etc
  4. The loop section is free for your projects!

It is very fast!

You might also like...
Add a directory to dynamic DLL search path on Windows.

DLLLoaderHelper Add a directory to DLL search path for Windows. Say you are building a library, :library_name, which loads some 3rd party shared libra

Resize, crop, and convert images on Upload.

Upload Image Plugin Resize, crop, and convert images on Upload. To use this plugin use the following settings in a "Transformation Step" in the Upload

Firebase Arduino Client Library for ESP8266 and ESP32. The unified version of Firebase-ESP8266 and Firebase-ESP32 Realtime database libraries with Cloud Firestore, Firebase and Google Cloud Storage, Cloud messaging and Cloud Functions supports. Upload arbitrary data via Apple's Find My network.
Upload arbitrary data via Apple's Find My network.

Send My Send My allows you to to upload abritrary data from devices without an internet connection by (ab)using Apple's Find My network. The data is b

This was the first ever Computer Science project that I made back in Class XII (2016). I thought I should upload it on GitHub so that it does not get lost. :)
This was the first ever Computer Science project that I made back in Class XII (2016). I thought I should upload it on GitHub so that it does not get lost. :)

First Ever Project This was the first ever Computer Science project that I made back in Class XII (2016). I thought I should upload it on github so th

THIS REPO IS PART OF WHAT ORCA TOLD ME TO UPLOAD

artifact64 THIS REPO IS PART OF WHAT ORCA TOLD ME TO UPLOAD Generate x64 arch undetactable executables directly from cobalt strike . USAGE : compile u

Upload codes in any language in this repository
Upload codes in any language in this repository

HacktoberFest21 Hello Hackers! HacktoberFest has begun again for year 2021, and everyone's excited to get started! What is Hacktoberfest? Hacktoberfes

THIS REPO IS PART OF WHAT ORCA TOLD ME TO UPLOAD

ACHLYSv2 How it works: First ACHLYS detects the environment of the machine its being in, by checking sandboxes and debuggers presents. second when the

THIS REPO IS PART OF WHAT ORCA TOLD ME TO UPLOAD

ACHLYSv1 How it works: First ACHLYS detects the environment of the machine its being in, by checking sandboxes and debuggers presents. second when the

Comments
  • Downloading error over 5.6 KB data and Streaming data upto 5.6 KB

    Downloading error over 5.6 KB data and Streaming data upto 5.6 KB

    Hello everyone,

    I want to download and stream files of spiffs using a web server but I'm struggling when it comes to downloading and streaming files over 5.6 KB. While using this library here I get the size of maxLen and it is 5.6 KB, I think due to the maxLen size I can't download files over 5.6 KB, and on-stream it streams only 5.6 KB of data. So how do I download and stream data over 5.6 KB? and how can I change maxLen size? Device: M5Core 2

    opened by OmnixOne 15
Owner
G6EJD
Arduino/ESP32/ESP8266 Code development, Amateur Radio, Radio Controlled Model Aircraft and Drones
G6EJD
NightDriverStrip is a source code package for building a flash program that you upload to the ESP32 microcontroller.

NightDriverStrip is a source code package for building a flash program that you upload to the ESP32 microcontroller.

Plummer's Software LLC 631 Dec 28, 2022
Hidden Eye is an all in one tool that can be used to perform a variety of online attacks on user accounts

Hidden Eye is an all in one tool that can be used to perform a variety of online attacks on user accounts. It’s well loaded, therefore it can be used as keylogger (keystroke logging), phishing tool, information collector, social engineering tool, etc.

Muhammad Qazi 0 Jun 24, 2022
ESP32-Skid-Steer - Bruder Catepillar Skid Steer model converted to RC, controlled by an ESP32 with 2 analog joysticks and a receiver that is an ESP32 on the model.

ESP32-Skid-Steer Bruder Catepillar Skid Steer model converted to RC, controlled by an ESP32 with 2 analog joysticks and a receiver that is an ESP32 on

null 6 Oct 27, 2022
A small and easy to use neural net implementation for C++. Just download and #include!

NN++ A short, self-contained, and easy-to-use neural net implementation for C++. It includes the neural net implementation and a Matrix class for basi

Gil Dekel 227 Nov 11, 2022
Process Ghosting - a PE injection technique, similar to Process Doppelgänging, but using a delete-pending file instead of a transacted file

Process Ghosting This is my implementation of the technique presented by Gabriel Landau: https://www.elastic.co/blog/process-ghosting-a-new-executable

hasherezade 514 Jan 3, 2023
Control-Alt-Delete - Help Tux Escape Beastie's Jail!

Control-Alt-Delete Help Tux escape Beastie's jail by completing the following challenges! Challenges Challenge 00: Drinks: Tux needs to drink less. Ch

NDLUG 8 Oct 31, 2021
Free osu tool used to download beatmap collections from osucollector.com

osu collector free edition. created in c++. Background Osu collector is a paid service used to download packages of organized osu beatmaps called "col

EternalRift 4 Jun 4, 2022
Repo for the DSA Mini-project Directory Manager

Directory Manager Repo for the DSA Mini-project Directory Manager Installation and Setup To setup the program on your desktop, do the following. git c

Pramod Rao Budramane 5 Oct 16, 2021
A simple directory bookmarking tool for my machine using C++

A simple directory bookmarking tool for my machine using C++

Eric Kim 1 Oct 31, 2021
Temporary Directory for Desktop Build

flutter_tips A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

Paras Jain 1 Nov 2, 2021