Download file, then upload file via multipart/form-data request
@dylburger
code:
data:privatelast updated:4 years ago
today
Build integrations remarkably fast!
You're viewing a public workflow template.
Sign up to customize, add steps, modify code and more.
Join 1,000,000+ developers using the Pipedream platform
steps.
trigger
HTTP API
Deploy to generate unique URL
This workflow runs on Pipedream's servers and is triggered by HTTP / Webhook requests.
steps.
nodejs
auth
to use OAuth tokens and API keys in code via theauths object
params
Download URL

URL to file you'd like to download

 
string ·params.downloadURL
Upload URL

URL where you want to send the uploaded file

 
string ·params.uploadURL
code
Write any Node.jscodeand use anynpm package. You can alsoexport datafor use in later steps via return or this.key = 'value', pass input data to your code viaparams, and maintain state across executions with$checkpoint.
async (event, steps, params) => {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
}
24
const FormData = require('form-data');
const fs = require('fs');
const got = require("got")
const stream = require('stream');
const {promisify} = require('util');

const filePath = "/tmp/index.html"

// DOWNLOAD
const pipeline = promisify(stream.pipeline);
await pipeline(
  got.stream(params.downloadURL),
  fs.createWriteStream(filePath)
);


// UPLOAD
const form = new FormData()
const readStream = fs.createReadStream(filePath)
form.append('file', readStream, filePath)

return await got.post(params.uploadURL, { body: form })