File storage
Uploads, images and documents your app keeps, each with its own address on your site. 1 GB on Starter, 10 GB on Edge Pro.
What it's for
Profile photos, product images, PDFs: files your app saves while it runs. They live in the project's own storage, not in your build, so they stay across deploys and rollbacks.
| Plan | Storage |
|---|---|
| Free | — |
| Starter | 1 GB |
| Edge Pro | 10 GB |
File storage is for server-rendered projects. Files that are part of your site (logos, CSS) belong in your build as usual.
Turn it on
Open the project, then Storage → Create storage. Wrenship connects it to the live app right away.
Use it in your app
npm install wrenship
import { files, fileUrl } from "wrenship/edge";
await files().put(`avatars/${userId}.jpg`, await request.arrayBuffer(), {
httpMetadata: { contentType: "image/jpeg" },
});
const src = fileUrl(`avatars/${userId}.jpg`); // "/_files/avatars/….jpg"
files() also has get(key), list({ prefix }) and delete(key) (or a list of keys).
Public addresses
Every file is served from your own site at /_files/<name>, for example https://kopi-senja.wrenship.site/_files/avatars/rani.jpg.
- The
private/folder is never public. Read those files only from your own code withfiles().get(key). - HTML, SVG and XML files are offered as downloads instead of opening as pages, so an uploaded file can't pretend to be part of your site.
- Large files can be streamed and resumed (range requests), which suits video.
The Storage tab
Browse folders, upload, download, copy a file's address, create folders and delete files. Uploads from the dashboard can be up to 100 MB each.
Limits
Usage is measured every hour. Once a project is over its plan's storage, uploads from the dashboard are refused and you get a message. If it goes far over (twice the limit), storage is disconnected from the app until usage is back under the limit or you upgrade.
When you delete a project, its files are deleted too.