يتم استخدام BodyParser لتحليل المحتوى في الجسم الذي يطلبه العميل ، ويستخدم داخليًا معالجة ترميز JSON ومعالجة ترميز عنوان URL ومعالجة تحميل الملفات.
فيما يلي مثال على تحميل الملف.
إنشاء صفحة 1.HTML
نسخة الكود كما يلي:
<! doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<title> تحميل الملفات إلى الخادم </title>
<script type = "text/javaScript">
وظيفة exploadfile () {
var formData = new FormData () ؛
ملفات var = document.getElementById ("ملفات"). ملفات ؛
ملف var = الملفات [0] ؛
formdata.append ("myfile" ، ملف) ؛
var xhr = new xmlhttprequest () ؛
XHR.Open ("post" ، "index.html" ، true) ؛
xhr.onload = function (e) {
إذا (this.status == 200)
document.getElementById ("النتيجة"). innerhtml = this. response ؛
} ؛
XHR.Send (formData) ؛
}
</script>
</head>
<body>
يرجى تحديد ملف: <input type = "file" id = "files" name = "file" />
<type type = "button" value = "upload file" onClick = "ToploadFile () ؛" />
<div id = "result"> </viv>
</body>
</html>
لم يتم شرح كائن XMLHTTPrequest أعلاه وكائن FormData بالتفصيل. استخدم هذين الكائنين لتحميل الملفات المحددة من قبل المستخدم إلى الخادم.
بعد استخدام الوسيطة App.use (express.bodyparser ()) على جانب الخادم ، فإن http.incomingmessage ، الذي يمثل طلب العميل ، أي أن كائن RES يحتوي على خاصية ملفات.
الرمز الجانبي Server.js:
نسخة الكود كما يلي:
var express = require ("express") ؛
var fs = require ("fs") ؛
var app = express () ؛
app.use (express.bodyParser ()) ؛
app.get ("/index.html" ، الدالة (req ، res) {
Res.SendFile (__ dirname+"/1.html") ؛
}) ؛
app.post ("/index.html" ، الدالة (req ، res) {
var file = req.files.myfile ؛
fs.readfile (file.path ، function (err ، data) {
إذا (err) res.send ("فشل عملية File File FANCE") ؛
آخر{
fs.writeFile (file.name ، البيانات ، الدالة (err) {
إذا (err) res.send ("فشلت عملية كتابة الملف.") ؛
else res.send ("تحميل الملف بنجاح") ؛
})
}
}) ؛
}) ؛
App.Listen (1337 ، "127.0.0.1" ، Function () {
console.log ("ابدأ الاستماع") ؛
}) ؛
بعد بدء الخادم ، قم بتشغيل المتصفح:
حدد ملفًا:
تظهر نجاح تحميل كلمة في المتصفح.
هناك أيضًا ملفات قمنا بتحميلها على جانب الخادم.
بعد النقر فوق التحميل:
بالإضافة إلى ذلك ، يمكن لـ BodyParse قبول بيانات JSON المقدمة من العميل AJAX ومعالجة عنوان URL.