Need to see if your shared folder is taking up space on your dropbox 👨‍💻? Find out how to check here.

Forum Discussion

bradoyler's avatar
bradoyler
New member | Level 2
9 years ago
Solved

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

  • Greg-DB's avatar
    Greg-DB
    9 years ago

    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-DB's avatar
    Greg-DB
    Icon for Dropbox Community Moderator rankDropbox Community Moderator
    9 years ago
    Thanks! Can you share the rest of the problematic code though? Thanks in advance!
  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Community Moderator rankDropbox Community Moderator
    9 years ago
    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-DB's avatar
    Greg-DB
    Icon for Dropbox Community Moderator rankDropbox Community Moderator
    9 years ago
    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!
  • bradoyler's avatar
    bradoyler
    New member | Level 2
    9 years ago

    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-DB's avatar
    Greg-DB
    Icon for Dropbox Community Moderator rankDropbox Community Moderator
    9 years ago

    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.

  • bradoyler's avatar
    bradoyler
    New member | Level 2
    9 years ago

    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-DB's avatar
    Greg-DB
    Icon for Dropbox Community Moderator rankDropbox Community Moderator
    8 years ago
    For reference, that is no longer necessary with the latest version of the SDK, v.3.x. You can just use fileBinary directly.
  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Community Moderator rankDropbox Community Moderator
    8 years ago
    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

Node avatar for 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!