在前端开发中,文件上传是一个很常见的需求,而 express-fileupload 是一个方便实现文件上传的 Node.js 模块,它能够将用户上传的文件保存在本地、传输到远程服务器等。本文将详细介绍如何使用 express-fileupload。
安装 express-fileupload
在使用 express-fileupload 之前,我们需要进行安装。
npm install express-fileupload
使用 express-fileupload
安装成功后,在需要使用该模块的文件中引入 express-fileupload :
const express = require("express"); const fileUpload = require("express-fileupload"); const app = express(); app.use(fileUpload());
使用 app.use() 将 express-fileupload 加载到你的应用程序中,接下来,当有文件上传请求到达服务器时,express-fileupload 会自动处理上传的文件,存储在指定的文件夹或提供回调。
让我们看下面这个示例,上传文件后将其保存在本地 uploads
文件夹中:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ---------- - ------------------------------ ----- --- - ---------- ----- ---- - ---------------- ---------------------- ------------------------------------------- ------------ ------------------- ------------- ---- - -- ---------- --- ----- - ------ ------------------------ ----- ---- ------------ - ----- ---- - --------------- -------------------------------------------- ------------- - -- ----- - ------------------- ------ -------------------------- - ---------- --------- ---------- --------- ----------------------- --- --- --- ---------------- ---------- - ------------------- ------- -- ---- ------- ---展开代码
在上面的代码中,我们定义了一个 /upload
路由,当在前端上传文件时,会将文件保存在 uploads
文件夹下,同时在上传成功后返回文件名称和路径。
express-fileupload 的 API
express-fileupload 提供了一些有用的方法来帮助我们实现更高级的文件上传操作。
file.mv(destination, callback)
此方法将文件传输到目标文件夹或目标文件。
参数说明
destination
(必须)- 字符串或对象,表示保存文件的路径或仅要保存的目标文件名callback
(可选)- 文件保存完成后的回调函数
req.files.file.name/filename
获取上传文件的原始名称和保存的名称。
req.files.file.mimetype
获取上传文件的 MIME 类型。
req.files.file.data
获取上传文件的原始二进制数据。
req.files.file.size
获取上传文件的大小(字节)。
小结
通过本文的介绍,我们草草地领略了 express-fileupload 的使用方法,如果要了解更多关于 express-fileupload 的高级设置以及开发实践,你可以前往 官方文档 进行查看。希望这篇文章能够帮助大家对前端中的文件上传有更深入的了解。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/63733