首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >svelte不能显示fastify的图像

svelte不能显示fastify的图像
EN

Stack Overflow用户
提问于 2022-05-28 12:32:33
回答 1查看 112关注 0票数 0

我想从fastify中获取图像并以svelte显示它,当我访问服务器url(http://localhost:3000/image/Darkaron.jpg)时,它工作了,但是当我从svelte (http://localhost:8080/image/Darkaron.jpg)访问它时,它拒绝显示并给出这个错误。

https://i.postimg.cc/HsKwYkpK/image-error.png

服务器代码:

代码语言:javascript
复制
import fastify from "fastify"
import fstatic from "@fastify/static"
import cors from "@fastify/cors";

const imagePath = '/storage'

type FileResponse = {
    filename: string
}

const server = fastify({
    logger: true
})
server.register(fstatic, {
    root: imagePath
})
server.register(FastifyMultipart)
server.register(cors, {
    origin: "*",
    methods: ["OPTIONS", "GET", "POST"]
})

server.get("/image/:filename", (req, res) => {
    res.sendFile((req.params as FileResponse).filename)
})

const start = async () => {
    try {
        await server.listen(3000)
    } catch (err) {
        server.log.error(err)
        process.exit(1)
    }
}
start()

svelte码

代码语言:javascript
复制
<script lang="ts">
import axios from "axios";
import { onMount } from "svelte";

onMount(async function() {
    let res = await axios({
        method: 'GET',
        url: 'http://localhost:3000/image/Darkaron.jpg'
    })
    console.log(res.data)
})
</script>

<div>check console</div>
EN

回答 1

Stack Overflow用户

发布于 2022-05-29 19:17:27

在您的客户端应用程序中,尝试使用文件index.ts创建档案api。

代码语言:javascript
复制
import axios from "axios";

export async function getImage() {
    let res = await axios({
        method: 'GET',
        url: 'http://localhost:3000/image/Darkaron.jpg'
    })
    console.log(res.data)
}

在svelte文件中导入api。

代码语言:javascript
复制
<script lang="ts">
import { getImage } from 'your path to api';
</script>
<div>check console</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72415740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档