BodyParser ใช้เพื่อแยกเนื้อหาในร่างกายที่ลูกค้าร้องขอและใช้การประมวลผลการเข้ารหัส JSON ภายในการประมวลผลการเข้ารหัส URL และการประมวลผลการอัปโหลดไฟล์
นี่คือตัวอย่างของการอัปโหลดไฟล์
สร้างหน้า 1.html
การคัดลอกรหัสมีดังนี้:
<! doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<title> อัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ </title>
<script type = "text/javascript">
ฟังก์ชั่น uploadfile () {
var formData = new FormData ();
var files = document.getElementById ("ไฟล์") ไฟล์;
ไฟล์ var = ไฟล์ [0];
formdata.append ("myfile", ไฟล์);
var xhr = ใหม่ xmlhttprequest ();
xhr.open ("โพสต์", "index.html", จริง);
xhr.onload = function (e) {
if (this.status == 200)
document.getElementById ("ผลลัพธ์"). innerhtml = this.response;
-
xhr.send (formdata);
-
</script>
</head>
<body>
โปรดเลือกไฟล์: <อินพุต type = "file" id = "files" name = "file" />> >>
<อินพุต type = "ปุ่ม" value = "อัปโหลดไฟล์" onclick = "uploadfile ();" -
<div id = "ผลลัพธ์"> </div>
</body>
</html>
วัตถุ XMLHTTTPREQUEST ด้านบนและวัตถุ FormData ไม่ได้อธิบายอย่างละเอียด ใช้วัตถุทั้งสองนี้เพื่ออัปโหลดไฟล์ที่ผู้ใช้เลือกไปยังเซิร์ฟเวอร์
หลังจากใช้มิดเดิลแวร์ app.use (express.bodyparser ()) ทางฝั่งเซิร์ฟเวอร์แล้ว http.incomingMessage ซึ่งแสดงถึงคำขอไคลเอนต์นั่นคือวัตถุ Res มีคุณสมบัติไฟล์
Server.js รหัสด้านข้าง:
การคัดลอกรหัสมีดังนี้:
var express = ต้องการ ("express");
var fs = ต้องการ ("fs");
var app = express ();
app.use (express.bodyparser ());
app.get ("/index.html", function (req, res) {
Res.SendFile (__ dirname+"/1.html");
-
app.post ("/index.html", function (req, res) {
var file = req.files.myfile;
fs.readfile (file.path, ฟังก์ชั่น (err, data) {
ถ้า (err) res.send ("อ่านการดำเนินการไฟล์ล้มเหลว");
อื่น{
fs.writefile (file.name, data, function (err) {
ถ้า (err) res.send ("การดำเนินการเขียนไฟล์ล้มเหลว");
else res.send ("การอัปโหลดไฟล์สำเร็จ");
-
-
-
-
app.listen (1337, "127.0.0.1", function () {
console.log ("เริ่มฟัง");
-
หลังจากเริ่มเซิร์ฟเวอร์ให้เรียกใช้เบราว์เซอร์:
เลือกไฟล์:
ความสำเร็จในการอัปโหลดคำจะปรากฏบนเบราว์เซอร์
นอกจากนี้ยังมีไฟล์ที่เราอัปโหลดทางฝั่งเซิร์ฟเวอร์
หลังจากคลิกอัปโหลด:
นอกจากนี้ BodyParse สามารถรับข้อมูล JSON ที่ส่งโดย Ajax ลูกค้าและการประมวลผล URL