

从 Pipedream 上传文件,得到 一个可访问的网址
在 Pipedream 流程里加一个 Node.js 代码步骤:带上 API 密钥把文件 POST 出去,响应就把一个可分享的网址交给下一步。
Pipedream 配置方法
不需要安装组件。一小段 Node.js 代码步骤用 axios 和 form-data 发出上传,然后把发布好的网址返回给后面的步骤。
// Pipedream: add a Node.js code stepimport FormData from "form-data"import axios from "axios" export default defineComponent({ async run({ steps }) { const form = new FormData() form.append("file", steps.trigger.event.body, { filename: "report.html", contentType: "text/html", }) form.append("name", "weekly-report") const res = await axios.post( "https://upload.tf/api/v1/upload", form, { headers: { "x-api-key": process.env.UPLOADTF_KEY, ...form.getHeaders() } }, ) return res.data.data.url // => https://weekly-report.upload.tf },})工作原理
创建 API 密钥
登录后在控制台创建一个密钥。付费套餐包含 API 权限,密钥立即生效。
添加 Node.js 代码步骤
添加一个 Node.js 代码步骤,用触发器或前面步骤的文件组装 FormData,带上 x-api-key 请求头 POST 出去,并返回 data.url。
把网址传下去
响应体里的 data.url 就是发布好的链接。把它映射到下一步:Slack 消息、表格行、邮件或 CRM 字段。
为什么在流程里上传
全程留在流程里
Pipedream 流程刚生成的文件在同一次运行里就变成网址,中间没有手动环节。
任何应用都收链接
很少有应用接受文件附件,但每个应用都接受链接。一个稳定的 https 网址放进任何字段都合适。
原地更新
用相同名字发 PUT,页面就在同一网址下更新,定时任务可以一直用同一个永久链接。
常见问题
- 有官方的 Pipedream 组件吗?
- 还没有。本页用的是普通的 Node.js 代码步骤,任何 Pipedream 工作流都支持。页面展示的一切都跑在有文档的公开 API 上。
- 通过 API 能发送什么?
- 上传接口接受一个 HTML 页面或静态站点的 ZIP,并发布到独立网址,覆盖了大多数流程生成的报告、看板和页面;其他类型的文件可以用浏览器上传器。
- 怎么认证?
- 在控制台创建 API 密钥,放进 HTTP 步骤的 x-api-key 请求头。密钥保存在工作区凭据或环境变量里,永远不要放进网址。
- API 免费吗?
- API 包含在付费套餐里,套餐同时提高大小限制并让链接保留更久。你可以先用本页的免费上传器手动体验,无需注册。
- 后面的步骤怎么用这个网址?
- 代码步骤返回的内容会成为它的导出,供后续步骤引用。返回 data.url,然后在下一步里引用它,比如 Slack 或邮件步骤。