在现代的 Web 开发中,我们常常需要上传文件或者提交表单数据,并且这些数据可能同时包含文字,图片,音频等多种类型的文件,而这些文件的传输需要使用 multipart/form-data 格式。为了方便在 Node.js 中使用这种格式,我们可以使用 multipart-data 这个 npm 包。
安装
npm install multipart-data
使用
创建 multipart/form-data 格式的请求体
const FormData = require('multipart-data'); const form = new FormData(); // 添加一个字段 form.append('username', 'example'); // 添加一个文件 form.append('avatar', 'path/to/avatar.jpg');
multipart-data
提供了一个 FormData
类来生成 multipart/form-data
格式的请求体,我们可以使用 append
方法往请求体中添加字段或者文件。
创建请求体并发送请求
-- -------------------- ---- ------- ----- ----- - ---------------------- ----- -------- - -------------------------- ----- --- - --------------------------------- ----- ---- - --- ----------- ----------------------- ----------- --------------------- ---------------------- ---------- - ------- ------- ----- ----- -- -------------- -- ---------------- ---------- -- - ------------------ -- ------------ -- - --------------------- ---
fetch
是一个现代的 Web API,可以用来发送网络请求。我们可以使用 multipart-data
创建请求体,并将其作为 fetch
的 body
参数发送请求。
示例代码
下面是一个使用 multipart-data
上传多个文件的示例代码:
-- -------------------- ---- ------- ----- ----- - ---------------------- ----- -------- - -------------------------- ----- --- - --------------------------------- ----- ---- - --- ----------- ----------------------- ----------- --------------------- ---------------------- --------------------- - --------------------- --------------------- --------------------- --- ---------- - ------- ------- ----- ----- -- -------------- -- ---------------- ---------- -- - ------------------ -- ------------ -- - --------------------- ---
在上面的代码中,我们使用了 append
方法添加了一个字符串字段 username
,一个文件字段 avatar
,以及一个文件数组字段 photos
。注意,append
方法可以接受字符串、Buffer、Stream、File 等多种类型的参数。
总结
multipart-data
是一个简单易用的 npm 包,可以方便地生成 multipart/form-data
格式的请求体,并使用现代的 Web API 发送网络请求。在实际开发中,我们可以结合具体的业务需求,使用 multipart-data
将多种类型的数据上传到服务器上。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600568d881e8991b448e49a2