我想在 deno 中提供图像。我正在使用以下代码(简化以更易于阅读)。如果我在文本文件上尝试并将内容类型设置为文本/纯文本,它工作得很好。如果我尝试使用图像,它确实会发送文件的内容,但由于某种原因,浏览器告诉我该文件包含错误。知道为什么吗?(我对 deno 完全陌生,所以这可能是非常明显的事情。)
import { serve } from "https://deno.land/std/http/server.ts";
import { readFileStr } from 'https://deno.land/std/fs/read_file_str.ts';
for await (const req of serve({ port: 80 })) {
const img = await readFileStr('./myfolder/cat.png');
const head = new Headers();
head.set('content-type', 'image/png');
req.respond({ headers: head, body: img, status: 200 });
}
Run Code Online (Sandbox Code Playgroud)
您使用readFileStr的应该仅用于文本文件,因为内容已转换为字符串UTF-8。要处理二进制文件(例如图像),您需要使用Deno.readFile
for await (const req of serve({ port: 80 })) {
const img = await Deno.readFile('./myfolder/cat.png');
const head = new Headers();
head.set('content-type', 'image/png');
req.respond({ headers: head, body: img, status: 200 });
}
Run Code Online (Sandbox Code Playgroud)
Deno.readFile也适用于文本文件。
| 归档时间: |
|
| 查看次数: |
1721 次 |
| 最近记录: |