diff --git a/src/dropzone.coffee b/src/dropzone.coffee
index 82e01a5fe..b38c65a2a 100644
--- a/src/dropzone.coffee
+++ b/src/dropzone.coffee
@@ -654,18 +654,18 @@ class Dropzone extends Em
# Returns a nicely formatted filesize
filesize: (size) ->
- if size >= 100000000000
- size = size / 100000000000
- string = "TB"
- else if size >= 100000000
- size = size / 100000000
- string = "GB"
- else if size >= 100000
- size = size / 100000
- string = "MB"
- else if size >= 100
- size = size / 100
- string = "KB"
+ if size >= 1024 * 1024 * 1024 * 1024 / 10
+ size = size / (1024 * 1024 * 1024 * 1024 / 10)
+ string = "TiB"
+ else if size >= 1024 * 1024 * 1024 / 10
+ size = size / (1024 * 1024 * 1024 / 10)
+ string = "GiB"
+ else if size >= 1024 * 1024 / 10
+ size = size / (1024 * 1024 / 10)
+ string = "MiB"
+ else if size >= 1024 / 10
+ size = size / (1024 / 10)
+ string = "KiB"
else
size = size * 10
string = "b"
diff --git a/test/test.coffee b/test/test.coffee
index 604e914dd..013a7f468 100644
--- a/test/test.coffee
+++ b/test/test.coffee
@@ -425,7 +425,7 @@ describe "Dropzone", ->
beforeEach ->
file =
name: "test name"
- size: 2 * 1000 * 1000
+ size: 2 * 1024 * 1024
dropzone.options.addedfile.call dropzone, file
describe ".addedFile()", ->
@@ -433,7 +433,7 @@ describe "Dropzone", ->
file.previewElement.should.be.instanceof Element
file.previewElement.querySelector("[data-dz-name]").innerHTML.should.eql "test name"
- file.previewElement.querySelector("[data-dz-size]").innerHTML.should.eql "2 MB"
+ file.previewElement.querySelector("[data-dz-size]").innerHTML.should.eql "2 MiB"
describe ".error()", ->
it "should properly insert the error", ->
@@ -720,10 +720,10 @@ describe "Dropzone", ->
it "should convert to KiloBytes, etc.. not KibiBytes", ->
- dropzone.filesize(2 * 1024 * 1024).should.eql "2.1 MB"
- dropzone.filesize(2 * 1000 * 1000).should.eql "2 MB"
- dropzone.filesize(2 * 1024 * 1024 * 1024).should.eql "2.1 GB"
- dropzone.filesize(2 * 1000 * 1000 * 1000).should.eql "2 GB"
+ # dropzone.filesize(2 * 1000 * 1000).should.eql "1.9 MiB"
+ dropzone.filesize(2 * 1024 * 1024).should.eql "2 MiB"
+ dropzone.filesize(2 * 1000 * 1000 * 1000).should.eql "1.9 GiB"
+ dropzone.filesize(2 * 1024 * 1024 * 1024).should.eql "2 GiB"
describe "._updateMaxFilesReachedClass()", ->
it "should properly add the dz-max-files-reached class", ->