在OriginalName File-Uploading中编码错误的编码
我正在发送一个名为:
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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论