Comments (4)
Worth mentioning that this only occurs in a production build, as next dev
runs with the local repo's public
folder, not the one bundled in .next
from next-payload.
vercel/next.js#58169 (comment) The Next team seems to suggest that the Payload recommendation goes against what they support.
I get that cloud is the way, but my client can't jump through the approval hoops for offsite storage. I'm going to start digging on their recommended path of serving files through route.ts
and will report back.
from next-payload.
Things seem to be working with the following configuration. Still looking for a way to secure my custom route handler.
.env
PAYLOAD_UPLOADS_DIR=/some/path/on/disk
Media.ts
{
//...
"upload": {
staticDir: process.env.PAYLOAD_UPLOADS_DIR,
staticURL: "/files"
},
}
/src/app/files/[filename]/route.ts
import fs from "fs";
import { readFile } from "fs/promises";
import mime from "mime-types";
export async function GET(
request: Request,
{ params }: { params: { filename: string } }
) {
const filename = params.filename;
const uploadDir = process.env.PAYLOAD_UPLOADS_DIR;
const filePath = `${uploadDir}/${filename}`;
if (!fs.existsSync(filePath)) {
return new Response("File not found", { status: 404 });
}
const bytes = await readFile(filePath);
const mimeType = mime.lookup(filePath) || "application/octet-stream";
// read file from file system
return new Response(bytes, {
headers: {
"Content-Type": mimeType,
},
});
}
from next-payload.
Hi again @marpstar, this repo will soon be archived because it's been merged into the main Payload repo here: https://github.com/payloadcms/payload/tree/main/packages/next. Payload 3.0 ships with native support for Next.js and is currently out in beta here: https://github.com/payloadcms/payload-3.0-demo. I'm going to close this issue now but feel free to keep the conversation going either as a GitHub Discussion or on Discord. If think issue persists, feel free to open a new ticket on either the demo repo or the monorepo with the 3.x-beta
label, and be sure to include a reproduction so we can fix it faster.
from next-payload.
Related Issues (20)
- Broken with Next.js 14 HOT 10
- Warning: ToastContainer HOT 2
- getPayload is not a function / req.payload is a Promise? HOT 3
- Payload CMS overrides styled-component GlobalStyles HOT 1
- App crashes with postgresql HOT 2
- Unable to set up with postgres on 13.5.6 (works with mongodb) HOT 1
- Cannot find module '../payload/payload.config.ts'
- API Key: You are not allowed to perform this action. HOT 1
- `Error [ERR_REQUIRE_ESM]: require() of ES Module` error when using component in /pages instead of /app folder HOT 4
- Custom views don't work HOT 2
- `getPayloadClient()` fails in server actions HOT 2
- Builds dont work with next14 HOT 6
- Status 500 error with vercel deploy (next14) HOT 2
- Unexpected handler pages/api/[collection]/lib/worker.js HOT 1
- Can't login '/admin' after creating initial admin account on '/admin' page (Next.JS 14 with next-payload) HOT 4
- Incompatability with lexical editor HOT 1
- Unexpected handler pages/api/[collection]/lib/worker.js in next-payload HOT 5
- `loadConfig is not a function` when running `next-payload build` HOT 2
- Full restart required for changes to apply correctly HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from next-payload.