我在将图片保存到渲染磁盘时遇到问题。
我在渲染服务上设置了 BanJs Web 服务器,并使用
/var/lib/data
路由器 打开了磁盘
然后配置服务器并成功启动一切。我的应用程序.ts:
const STORE_PATH = '/var/lib/data';
const PORT: number = +(process.env.PORT ?? 8080);
const NODE_ENV = process.env.NODE_ENV ?? 'development';
const server = Bun.serve({
port: PORT,
async fetch(req) {
const url = new URL(req.url);
if (req.method !== 'POST') {
return new Response(null, { status: 405 });
}
if (!req.body) {
return new Response(null, { status: 400 });
}
const filePath = `${STORE_PATH}/image.jpg`;
await Bun.write(filePath, await Bun.readableStreamToBlob(req.body));
return new Response(null, { status: 201 }
},
error() {
return new Response(null, { status: 500 });
},
});
console.log(`[${NODE_ENV}] Listening on port ${server.port}`);
问:谁有设置经验,我哪里错了或者问题出在哪里?
我也有类似的问题。问题是
/
不是您的根目录。
您可以使用 render 的 shell 来检查路径。
假设您的项目位于:
/opt/render/project/src
您的光盘位于:
/var/lib/data
你需要沿着路径一路爬行:
// assuming your file is in ./src
- const STORE_PATH = '/var/lib/data';
+ const STORE_PATH = '../../../../var/lib/data';
我仍然没有找到在视图文件中设置什么路径的方法。如果您愿意,请告诉我。
<img src="🤷♂️"> // ?