Need to see if your shared folder is taking up space on your dropbox 👨💻? Find out how to check here.
Forum Discussion
bradoyler
9 years agoNew member | Level 2
docs contain invalid chars
using JS sdk method paperDocsDownload({ doc_id, export_format: 'html' }) and certain character (m-dash, curly quotes) come thru as â.
The test document is here: https://paper.dropbox.com/doc/test-paper-doc-S7sSIlM2E0g6p3OXhhts4
Also the project I'm working on is here: https://github.com/bradoyler/paper2json
Thanks!
I was able to reproduce the issue. It looks like it is a matter of encoding it properly. You can do so like this:
new Buffer(doc.fileBinary, 'binary').toString()
I'll ask the team to look into whether or not the SDK should/can do that for you though.
9 Replies
Replies have been turned off for this discussion
- Greg-DB9 years ago
Dropbox Community Moderator
Thanks! Can you share the rest of the problematic code though? Thanks in advance! - Greg-DB9 years ago
Dropbox Community Moderator
The 'paper2json' GitHub link you shared is a 404 for me. (Perhaps it's not publicly accessible?)
In any case, can you share just the code snippet(s) needed to reproduce the 'â' issue?
When I download the data to an html file using `URL.createObjectURL(response.fileBlob)` the resulting html file shows the correct characters. - Greg-DB9 years ago
Dropbox Community Moderator
The repo is available now, and it looks like you're running in node and not browser JavaScript like I was testing with. I'll try your code in node. Thanks! - bradoyler9 years agoNew member | Level 2
more simple test: https://github.com/bradoyler/paper2json/blob/master/test/html.js
- bradoyler9 years agoNew member | Level 2
interestingly, I dont see the malformed html when I use the http api via:
curl -X POST https://api.dropboxapi.com/2/paper/docs/download \ --header "Authorization: Bearer xxyyzzzzzz" \ --header "Dropbox-API-Arg: {\"doc_id\": \"S7sSIlM2E0g6p3OXhhts4\",\"export_format\": \"html\"}" - Greg-DB9 years ago
Dropbox Community Moderator
Thanks!
I was able to reproduce the issue. It looks like it is a matter of encoding it properly. You can do so like this:
new Buffer(doc.fileBinary, 'binary').toString()
I'll ask the team to look into whether or not the SDK should/can do that for you though.
- bradoyler9 years agoNew member | Level 2
Doh! You're right.
Proper way to do this in Node 6+ is like this:
Buffer.from(doc.fileBinary, 'binary').toString()
But yea, I can't think of a reason why an SDK user would want different behavior from the HTTP API.
Thanks!
- Greg-DB8 years ago
Dropbox Community Moderator
For reference, that is no longer necessary with the latest version of the SDK, v.3.x. You can just use fileBinary directly. - Greg-DB8 years ago
Dropbox Community Moderator
Unfortunately, this caused a different issue. Please upgrade to v4.0.0 and use the Buffer workaround again. Apologies for the bother.
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
The Dropbox Community team is active from Monday to Friday. We try to respond to you as soon as we can, usually within 2 hours.
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, Facebook or Instagram.
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!