We're making changes to the Community, so you may have received some notifications - thanks for your patience and welcome back. Learn more here.
Forum Discussion
StefanReeder
5 years agoNew member | Level 2
NetSuite Server Side SS2.x Script to upload files to Dropbox - body encoding issue
Hi team
I'm trying to upload a file to Dropbox via the API using a user event (server side) script in NetSuite.
I can get a file to be uploaded, but having an issue with the "body" encoding.
Thus far, my https request looks like:
URL and headers:
and the body is being set as follows:
var httpsRequest = { method: https.Method.POST, url: request.url, headers: request.headers, body : data.content, };
data.content is the file from the NS file cabinet, extracted with myfile.getContents().
When loading the file it looks like Base64.
I have also tried re-encoding the file contents to (UTF_8 to Base64), but the file is still unreadable when synced to the desktop.
If i do the request from Postman to Dropbox it works, then when I change the URL to a request.bin, the working "body" is structured like:
However, when coming from NetSuite, the same data looks like:
So I'm not sure how I set the "body" in my NetSuite request to be received in the same way?
Any help would be much appreciated, and save what little hair I have left.
- Greg-DBDropbox Staff
[Cross-linking for reference: https://stackoverflow.com/questions/64454739/using-server-side-ss2-x-to-upload-files-to-dropbox-body-encoding-issue ]
I can't offer help with the NetSuite side of things, as that's not made by Dropbox, but for reference, the /2/files/upload Dropbox API endpoint is a "content-upload" style endpoint, meaning it expects the file data in the HTTPS request body. The data should be sent just as a raw octet-stream (per the "Content-Type"), without any additional encoding. (Dropbox doesn't perform any additional operations, such as encoding/decoding, on the received data before storing it.)
So, for example, if your data source is giving you your file data encoded with base64 encoding, you may need to base64-decode it before sending it to Dropbox.
- Anonymous OneExplorer | Level 4
Hi,
Did you find any solution to tackle this?
- Greg-DBDropbox Staff
Anonymous One I see you also posted your own thread, so we'll follow up with you there.
About Discuss Dropbox Developer & API
795 PostsLatest Activity: 3 days ago
If you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X or Facebook.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!