summaryrefslogtreecommitdiffstats
path: root/apps/files/js/file-upload.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files/js/file-upload.js')
-rw-r--r--apps/files/js/file-upload.js26
1 files changed, 20 insertions, 6 deletions
diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js
index e5d1eacbd14..3879aa65888 100644
--- a/apps/files/js/file-upload.js
+++ b/apps/files/js/file-upload.js
@@ -242,11 +242,19 @@ OC.Upload = {
data.errorThrown = errorMessage;
}
- if (file.type === '' && file.size === 4096) {
- data.textStatus = 'dirorzero';
- data.errorThrown = t('files', 'Unable to upload {filename} as it is a directory or has 0 bytes',
- {filename: file.name}
- );
+ // in case folder drag and drop is not supported file will point to a directory
+ // http://stackoverflow.com/a/20448357
+ if (!file.type && file.size%4096 === 0 && file.size <= 102400) {
+ try {
+ reader = new FileReader();
+ reader.readAsBinaryString(f);
+ } catch (NS_ERROR_FILE_ACCESS_DENIED) {
+ //file is a directory
+ data.textStatus = 'dirorzero';
+ data.errorThrown = t('files', 'Unable to upload {filename} as it is a directory or has 0 bytes',
+ {filename: file.name}
+ );
+ }
}
// add size
@@ -326,10 +334,15 @@ OC.Upload = {
submit: function(e, data) {
OC.Upload.rememberUpload(data);
if ( ! data.formData ) {
+ var fileDirectory = '';
+ if(typeof data.files[0].relativePath !== 'undefined') {
+ fileDirectory = data.files[0].relativePath;
+ }
// noone set update parameters, we set the minimum
data.formData = {
requesttoken: oc_requesttoken,
- dir: $('#dir').val()
+ dir: $('#dir').val(),
+ file_directory: fileDirectory
};
}
},
@@ -683,3 +696,4 @@ $(document).ready(function() {
OC.Upload.init();
});
+