仅使用 vanilla node.js 将 multipart/form-data 与文件组合

Posted

技术标签:

【中文标题】仅使用 vanilla node.js 将 multipart/form-data 与文件组合【英文标题】:Composing multipart/form-data with file only using vanilla node.js 【发布时间】:2021-11-08 18:12:47 【问题描述】:

“Zapier 的代码”不允许加载 npm 模块,vanilla node.js 不包含 FormData,它作为模块“form-data”提供。

是否有另一种方法可以仅使用 vanilla node.js 来编写包含(二进制)文件作为表单部分的 multipart/form-data 消息?

【问题讨论】:

【参考方案1】:

虽然这在Code by Zapier 中可能不方便,但您可以使用Zapier Developer Platform。甚至还有一个特定的FormData 示例here。

要使用它,请执行以下操作:

    安装 CLI (docs) 运行zapier init --template files my-app cd my-app && npm install

示例应用具有创建文件操作,您可以将其与任何其他 Zapier 应用结合使用。您现在可以删除任何不需要的部分并从那里取出!

【讨论】:

我知道这种可能性,但我明确询问是否可以不加载 npm 模块。是否可以组成一个消息体,将表单部分标题的字符串与文件的二进制数据作为表单部分的内容混合在一起? 我不确定。但是,npm 包(最终)只是普通的 JS,所以你可以尝试阅读该包并查看它是如何处理它的。

以上是关于仅使用 vanilla node.js 将 multipart/form-data 与文件组合的主要内容,如果未能解决你的问题,请参考以下文章

node.js 的新手;需要帮助将 npm 模块导入我的前端 vanilla JS 项目

在VSCode中为node.js应用程序调试vanilla jasmine

如何从node js文件中调用一个vanilla JavaScript函数?

哪种方式更方便在无限循环中执行异步函数,每次执行之间都休眠(Node.js / Vanilla JS)

如何仅使用 vanilla JavaScript 和 Node-API 将多个 div 元素包装在另一个元素节点周围?

仅使用 Node.js 与将 Node.js 与 Apache/Nginx 一起使用