cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
Want to learn some quick and useful tips to make your day easier? Check out how Calvin uses Replay to get feedback from other teams at Dropbox here.

Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How do I display the image data from the /2/files/download endpoint?

How do I display the image data from the /2/files/download endpoint?

cloudlife
Helpful | Level 6
Go to solution

So I'm authorizing it properly, providing the correct headers in the proper format, retriving the response headers, and the data. But I can't seem to figure out how to display the information that comes out, it just comes out as a huge chunk of this:

$.ajax(.........success: (data, textStatus, request) //data below

 �)��yJq��i�Lj�q`���K���8��ccx����R�I�̼��������)|�x:qC�2 �z�F�H;� 

 

Now clearly this is the data itself, but it doesn't work when I drop it into the src attritbute directly like this (using react): <img src={data} />

 

I've spent a few hours trying to figure out how to get this to work, trying multiple solutions without success, and I'm sure it's something simple. Any help would be greatly appreciated!

1 Accepted Solution

Accepted Solutions

Greg-DB
Dropbox Staff
Go to solution
The /download call returns the raw binary data for the file. If it's an image and you won't to display it in an image tag, you'll need to either save it somewhere where you can serve it from a URL, or encode and format it as a base64 data URI, or perhaps using some of the newer blob/file functionality in modern browsers.

View solution in original post

2 Replies 2

Greg-DB
Dropbox Staff
Go to solution
The /download call returns the raw binary data for the file. If it's an image and you won't to display it in an image tag, you'll need to either save it somewhere where you can serve it from a URL, or encode and format it as a base64 data URI, or perhaps using some of the newer blob/file functionality in modern browsers.

cloudlife
Helpful | Level 6
Go to solution
Thanks! That's really what I needed was what kind of data it was, and what kind of solutions there were.

I had already seen a possible solution using blobs, but the solution required that I send a response header for blob which potentially along with other things didn't end up working.

The simple solution is: go install whatwg-fetch and use that for your api calls and when you get the response run:
URL.createObjectURL( response.blob() )
and set that result as the image src attribute.

Thanks again!
Need more support?
Who's talking

Top contributors to this post

  • User avatar
    cloudlife Helpful | Level 6
  • User avatar
    Greg-DB Dropbox Staff
What do Dropbox user levels mean?