ESP8266/ESP32 lightweight web-based file manager, media server and LittleFS storage system with upload, delete and direct file access.
Lightweight Web File Manager + Media Server + Mini CDN for ESP8266 / ESP32
ViraMediaWeb transforms your ESP8266/ESP32 into a powerful embedded web storage system.
It works like a mini cloud server directly on your microcontroller.
http://ip/vfm)Access via browser:
http://DEVICE_IP/vfm
ESP8266 / ESP32
β File System Layer (LittleFS / SPIFFS)
β Async HTTP Server Engine
β ViraMediaWeb UI Core
β REST API Gateway
β Client Browser / External Apps
Copy this repository into:
Documents/Arduino/libraries/ViraMediaWeb
Install these libraries:
#include <WiFi.h>
#include <ESPAsyncWebServer.h>
#include <ViraMediaWeb.h>
AsyncWebServer server(80);
ViraMediaWeb media;
void setup() {
Serial.begin(115200);
WiFi.begin("SSID", "PASSWORD");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
Serial.println(WiFi.localIP());
media.begin();
media.attach(server);
server.begin();
}
void loop() {
}
/
Main System Web UI (your custom ESP application interface)
/vfm
ViraMediaWeb File Manager Dashboard
(File upload, delete, preview and storage management)
π Dashboard (File Manager UI) will load automatically.
π API Endpoints
| Route | Method | Description |
|---|---|---|
| / | GET | System Web UI |
| /vfm | GET | Web UI File Manager Dashboard |
| /upload | POST | Upload file |
| /files | GET | List files |
| /delete?name= | GET | Delete file |
| /storage | GET | Storage info |
π‘ Use Cases
Smart IoT dashboards
Local network file sharing
Embedded media server
ESP-based mini cloud storage
Industrial monitoring systems
Smart home file interface
π₯ Web UI Features
β File upload panel
β Storage usage monitor
β File list viewer
β Image thumbnails
β Delete button
β View/Open file in new tab
β Drag & Drop upload support
β‘ Example Workflow
Connect ESP to WiFi
Open IP in browser
Upload files via web UI
Access files via URL
Use API in your own projects
You can use uploaded files inside your own website:
<img src="http://DEVICE_IP/logo.png" />
<script>
fetch("http://DEVICE_IP/files")
.then(r => r.json())
.then(data => console.log(data));
</script>
Fully async architecture (no blocking server calls)
Designed for low memory microcontrollers
Optimized for LAN usage
Works as embedded HTTP file server
Mostafa MirMousavi (viramedar)
Embedded Systems | Network Engineering | IoT Development | Infrastructure Design
MIT License
Turn your ESP device into a smart web storage node inside your network