Sveltekit 项目如何从端点获取图像
Sveltekit project how to get images from endpoint
我正在创建一个简单的博客来探索 Sveltekit 及其工作原理。
我创建了一个端点来管理图像的上传,它存储在根文件夹(与 src 相同级别)的文件夹中。
现在我正在尝试获取此图像并在加载 post 时在前端显示。
这很简单,但我无法管理如何去做。在 Nodejs 中,通常我会创建一个 API 来在被调用时提供图像(例如 API url 是 /api/v1/images/):
function get(req, res, next) {
...
var fileStream = fs.createReadStream(imagePath);
res.writeHead(200, { "Content-Type": "image/" + extensionName });
fileStream.pipe(res);
...
}
在前端我称之为:
<img src={getImageFromBackend("example.jpg")} alt="Example" />
但在 Sveltekit 中我不能这样做。
有什么想法吗?
谢谢
您应该创建另一个端点来提供图像。端点看起来像 this:
import {promises as fs} from "fs";
export async function get() {
const asset = await fs.readFile("sample.jpg");
return {
headers: {
"Content-Type": "image/jpeg"
},
body: asset
};
}
我正在创建一个简单的博客来探索 Sveltekit 及其工作原理。
我创建了一个端点来管理图像的上传,它存储在根文件夹(与 src 相同级别)的文件夹中。
现在我正在尝试获取此图像并在加载 post 时在前端显示。 这很简单,但我无法管理如何去做。在 Nodejs 中,通常我会创建一个 API 来在被调用时提供图像(例如 API url 是 /api/v1/images/):
function get(req, res, next) {
...
var fileStream = fs.createReadStream(imagePath);
res.writeHead(200, { "Content-Type": "image/" + extensionName });
fileStream.pipe(res);
...
}
在前端我称之为:
<img src={getImageFromBackend("example.jpg")} alt="Example" />
但在 Sveltekit 中我不能这样做。
有什么想法吗?
谢谢
您应该创建另一个端点来提供图像。端点看起来像 this:
import {promises as fs} from "fs";
export async function get() {
const asset = await fs.readFile("sample.jpg");
return {
headers: {
"Content-Type": "image/jpeg"
},
body: asset
};
}