How to Submit Data as Multipart/form-data in an HTTP Request?

This topic was automatically generated from Slack. You can find the original thread here.

How can I submit my data as multipart/form-data when I make an HTTP request?

To submit data as multipart/form-data when making an HTTP request, you can use the axios constructor from the @pipedream/platform package in your Pipedream component code. Here’s an example of how to send a file using multipart/form-data: import { axios } from "@pipedream/platform"; import FormData from "form-data"; export default defineComponent({ async run({ $ }) { const form = new FormData(); form.append("file", "your-file-content", "filename.txt"); const response = await axios($, { method: "POST", url: "https://your-target-url.com", headers: form.getHeaders(), data: form, }); return response; }, }); In this example, replace "your-file-content" with the actual file content you want to send, and "filename.txt" with the desired filename. Update the url to the target URL where you want to send the multipart/form-data request.

I have this JSON that I should submit, how can I modify the code you provided?

{“email”: “email@gmail.com”}

To submit the JSON data as multipart/form-data, you can modify the previous example like this: import { axios } from "@pipedream/platform"; import FormData from "form-data"; export default defineComponent({ async run({ $ }) { const form = new FormData(); form.append("email", "[email@gmail.com](mailto:email@gmail.com)"); const response = await axios($, { method: "POST", url: "https://your-target-url.com", headers: form.getHeaders(), data: form, }); return response; }, }); Replace https://your-target-url.com with the target URL where you want to send the multipart/form-data request. This code will send the JSON data with the key “email” and the value “email@gmail.com”.

Thanks it worked

You’re welcome! I’m glad it worked for you. If you have any more questions or need further assistance, feel free to ask.