Uploading a file to Dropbox - it's working, but don't think I have done it correctly!

Hello all

Very new to Make / Integromat and the whole automation thing - so bare with me!

I have set up a scenario which downloads an attachment from 4 a attachment fields and uploads them to Dropbox. See screenshot. It is working just fine, but I don’t think I have done it correctly. Would someone advise / confirm?

  • I get the URL of the file from Airtable with a HTTP Get file module
  • I then pass the URL to the Dropbox module - but I have to pass the filename separately from the Airtable module. If I don’t do this - the file is uploaded as file.url (or similar)

Is that the way to do it? I just assumed the filename would be passed from Airtable to HTTP get a file module as well, but it doesn’t seem to be - unless I am missing something?

Thanks in advance,
Andrew

Hey there. I assume you’re using the http module to get the file From airtable because the native make app doesn’t have this feature?

It would be useful to get the output bundles json from the http module. It is possible that the file name will just need to be assigned or there’s another call you’ll need to make to get the file name.

2 Likes

Thanks! Here is the output JSON from the HTTP module. The file I am downloading is not called file.pdf - so I am doing something wrong somewhere!

I am using the HTTP “Get a file” action
I have 4 files to download from one Airtable record. Ideally I’d have say just the 4 HTTP Modules (one for each file) - but then just the one Dropbox upload module.

[
{
“statusCode”: 200,
“headers”: [
{
“name”: “content-type”,
“value”: “application/pdf”
},
{
“name”: “content-length”,
“value”: “84227”
},
{
“name”: “connection”,
“value”: “close”
},
{
“name”: “date”,
“value”: “Thu, 28 Apr 2022 12:06:43 GMT”
},
{
“name”: “x-amz-replication-status”,
“value”: “FAILED”
},
{
“name”: “last-modified”,
“value”: “Thu, 28 Apr 2022 12:05:27 GMT”
},
{
“name”: “etag”,
“value”: "“a57d0bbb98612195429aaa695ca0d166"”
},
{
“name”: “x-amz-server-side-encryption”,
“value”: “AES256”
},
{
“name”: “x-amz-version-id”,
“value”: “DXI7M5hSrKs2BrJPFzEwfikMwRMvSx_h”
},
{
“name”: “accept-ranges”,
“value”: “bytes”
},
{
“name”: “server”,
“value”: “AmazonS3”
},
{
“name”: “content-security-policy”,
“value”: “default-src ‘none’; frame-src ‘self’; object-src ‘self’; style-src ‘unsafe-inline’; img-src https:///favicon.ico;"
},
{
“name”: “access-control-allow-origin”,
“value”: "

},
{
“name”: “x-robots-tag”,
“value”: “none”
},
{
“name”: “x-xss-protection”,
“value”: “1; mode=block”
},
{
“name”: “x-content-type-options”,
“value”: “nosniff”
},
{
“name”: “referrer-policy”,
“value”: “no-referrer”
},
{
“name”: “x-cache”,
“value”: “Hit from cloudfront”
},
{
“name”: “via”,
“value”: “1.1 4d054711fa046225c14d8fd7485a4718.cloudfront.net (CloudFront)”
},
{
“name”: “x-amz-cf-pop”,
“value”: “DUB2-C1”
},
{
“name”: “x-amz-cf-id”,
“value”: “4nAzL7INykLgqdho-gobp4EvuHQ_6vzdWV1D5P01J7rQNEN7bqlKJA==”
},
{
“name”: “age”,
“value”: “1329”
}
],
“cookieHeaders”: ,
“data”: “IMTBuffer(84227, binary, 729f0db991a5b9c4a3e0cb0786c4b4c2cfe51a7a): 255044462d312e340a25d3ebe9e10a312030206f626a0a3c3c2f43726561746f7220284368726f6d69756d290a2f50726f64756365722028536b69612f504446206d3830290a2f4372656174696f6e446174652028443a32303232303432383132303532”,
“fileSize”: 84227,
“fileName”: “file.pdf”
}
]

File.pdf is just the label the http call response is giving you. Is there another way to get the file name through another call? It’s too bad this isn’t in the airtable app already. You may need to use the airtable api some more.

4 Likes

Ahh no worries - thanks again Alex

I popped a Tools>Set Variable module in there to get the filename from Airtable and all good. Just seems a long way round it! Thanks again,
Andrew

3 Likes

Yeah that’s sort of what you have to do if the http module doesn’t give you what you need which it usually doesn’t if the api you’re calling doesn’t give you what you need. Please mark your solution.

3 Likes