From d6d5f655e50e390ce382d525d8c13a23c93b9c0b Mon Sep 17 00:00:00 2001
From: Dányi Bence <madbence@gmail.com>
Date: Wed, 6 Feb 2013 16:18:45 +0100
Subject: [PATCH] one: client-side filesize validation added

---
 one/static/cloud.js | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/one/static/cloud.js b/one/static/cloud.js
index 13614e9..9f9ef43 100644
--- a/one/static/cloud.js
+++ b/one/static/cloud.js
@@ -353,11 +353,21 @@ $(function() {
         /**
          * Uploads the specified file(s)
          */
-        function readfiles(files) {
-            var formData = tests.formdata ? new FormData() : null;
-            for(var i = 0; i < files.length; i++) {
-                if(tests.formdata) formData.append('data', files[i]);
+        function readfiles(file) {
+            //1 GB file limit
+            if(file.size > 1024*1024*1024) {
+                $('#upload-zone').hide();
+                $('#upload-error').show();
+                $('#upload-error-size').show();
+                setTimeout(function(){
+                    $('#upload-zone').show();
+                    $('#upload-error').hide();
+                    $('#upload-error-size').hide();
+                },3000);
+                return;
             }
+            var formData = tests.formdata ? new FormData() : null;
+            formData.append('data', file);
             // now post a new XHR request
             if(tests.formdata) {
                 var xhr = new XMLHttpRequest();
@@ -414,7 +424,7 @@ $(function() {
         document.addEventListener('drop', function(e) {
             e.stopPropagation();
             e.preventDefault();
-            readfiles(e.dataTransfer.files);
+            readfiles(e.dataTransfer.files[0]);
             return false;
         });
         document.addEventListener('dragover', function(e) {
--
libgit2 0.26.0