在OriginalName File-Uploading中编码错误的编码

发布于 2025-02-13 17:12:14 字数 13 浏览 0 评论 0原文

我正在发送一个名为:

I am sending a file named: ????????.jpg. But the server returns: ðð.jpg.
Why does the server have a different encoding for the filename? How to fix it?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form
    action="/form"
    method="post"
    enctype="multipart/form-data"
    accept-charset="UTF-8"
  >
  <input type="file" name="avatar" />
  <button>Send</button>
</form>
</body>
</html>

server code

import express from "express";
import dotenv from "dotenv";
import multer from "multer";
dotenv.config()
const app = express();
app.use(express.urlencoded({extended:true}))
app.use(express.json());
const upload = multer({ dest: 'uploads/' })

app.get("/:id?", async (req:any,res:any,next:any)=>{
    res.sendFile("views/index.html",  {root: __dirname })
})

app.post("/form", upload.fields([{ name: 'avatar', maxCount: 1 }]), async (req: any,res:any,next:any)=>{
    res.send(req.files['avatar']? req.files['avatar'][0].originalname : 'Error');
})

app.listen(process.env.PORT, async ()=>{
    console.log("Server start at "+process.env.PORT)
})

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文