node-dropbox icon indicating copy to clipboard operation
node-dropbox copied to clipboard

Is it possible to specify a mime type for newly created files?

Open pketh opened this issue 9 years ago • 4 comments

I've got a base64 image representation that I want to save to my dropbox. I've tried stripping the irrelevant bits and manually writing a png using that string. But the files are always corrupted. When I look at the the dropbox-js I noticed that you can manually specify mime types.

thanks again!

pketh avatar Sep 11 '15 23:09 pketh

I'm also able to save the file as a working in the root of my project, but I can't figure out how I could use this lib to simply transfer a file (i.e. based on it's current path) in my project to dropbox.

pketh avatar Sep 11 '15 23:09 pketh

Hmm... As far as I'm concerned, there isn't a way to set the MIME type with the Core dropbox API. So, I'm wondering if you just need to set the file extension for the file you are creating?

In my tests, I do this:

api.createFile("test_file.txt", "Test Content", function(err, res, body) {});

If that's not the case, I'll have to add some tests for other file types and see what to do.

g33kidd avatar Sep 11 '15 23:09 g33kidd

Yeah, if I hard code the filename as png with something like 

api.createFile("test_file.png", “base64imageiVBORdsfw0...", function(err, res, body) {});

The file created will be corrupt.

If I create it as a .txt , the file is not corrupt, it’s a text file containing the string.

I’m doing the following to convert my base64 representation to a string

      drawing = drawing.replace(/^data:image/\w+;base64,/, "")

      drawing = drawing.replace(/ /g, '+')

for reference here’s what the raw base64 version 


data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbMAAAAAXNSR0IArs4c6QAADzxJREFUeAHt3cFtHDgQBEBLUCz7UHQKRdHpoWT23gZk2EATcyS77ne2h+RUW27sa3/98h8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYFbgZfY6txH4XeD74+v5+6/4PwJ/Fnh8vvs3688847/zOn6jCwkQIEDgCgEFckWMliBAgMC8gAKZN3cjAQIErhBQIFfEaAkCBAjMCyiQeXM3EiBA4AoBBXJFjJYgQIDAvIACmTd3IwECBK4QUCBXxGgJAgQIzAsokHlzNxIgQOAKAQVyRYyWIECAwLyAApk3dyMBAgSuEFAgV8RoCQIECMwLKJB5czcSIEDgCgEFckWMliBAgMC8gAKZN3cjAQIErhBQIFfEaAkCBAjMCyiQeXM3EiBA4AoBBXJFjJYgQIDAvIACmTd3IwECBK4Q8P3Cm8XY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

On Fri, Sep 11, 2015 at 7:48 PM, Joshua Kidd [email protected] wrote:

Hmm... As far as I'm concerned, there isn't a way to set the MIME type with the Core dropbox API. So, I'm wondering if you just need to set the file extension for the file you are creating? In my tests, I do this:

api.createFile("test_file.txt", "Test Content", function(err, res, body) {});

If that's not the case, I'll have to add some tests for other file types and see what to do.

Reply to this email directly or view it on GitHub: https://github.com/g33kidd/node-dropbox/issues/7#issuecomment-139688215

pketh avatar Sep 11 '15 23:09 pketh

this solution does not works in my case :(

I test many solutions and, il all cases, png or jpeg images are corrupted

throrin19 avatar Mar 08 '16 08:03 throrin19