Commit Graph

168 Commits

Author SHA1 Message Date
Vincent Petry cd8d13b9e6 Enable chunking for bigger files in authenticated web upload
This commit adds chunked uploads in the Web UI (for authenticated users,
but not for public uploads). To do that the server endpoint used by the
uploader is changed from WebDAV v1 to WebDAV v2. The chunking itself is
done automatically by the jQuery-File-Upload plugin when the
"maxChunkSize" parameter is set; in "fileuploadchunksend" the request is
adjusted to adapt the behaviour of the plugin to the one expected by
"uploads/" in WebDAV v2.

The chunk size to be used by the Web UI can be set in the
"max_chunk_size" parameter of the Files app configuration. By default it
is set to 10MiB.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-11-03 17:19:23 +01:00
Morris Jobke 7d71b54715
Add space between ellipsis and word
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-10-25 00:12:41 +02:00
rakekniven 830310ad1d Update file-upload.js
Fixed tiny translation issues. Removed space before ellipsis.
2017-10-07 10:38:03 +02:00
Roeland Jago Douma 69d2d0178a
Don't try the actual file upload if the checks already error out
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-26 11:30:04 +02:00
Morris Jobke 57fd256b9a
Replace ... with …
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-23 16:22:11 +02:00
Morris Jobke 591dda2fed
Show "Uploading..." in web UI for long uploads
If the estimated upload time is bigger than 4 hours it shows the text
"Uploading..." because the time then doesn't give any good hint to the
user anyways.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-23 15:59:05 +02:00
Bekcpear 8267e5e007 Fix uploadrate value of 'original-title' attribute
The unit of `data.bitrate` is bit, but the argument unit of
`humanFileSize` function is byte, so it should be divided by 8.

Signed-off-by: Yaojin Qian <i@ume.ink>
2017-06-16 15:35:51 +08:00
Bekcpear 82e263ed04 Fix upload remaining time
The upload remaining time is always 'a few second' whatever a big or a
small file uploading.
This commit fixes it. The `new Date().getMilliseconds()` only return a
three digits number. When time arrived the next second, the millisecond
start from ZERO again. So `new Date().getTime()` is the righe choice.
And remaining time variables shoule be initialized when the file starts
uploading, otherwise the remaining time of a new upload will always be
'Infinity years' until you refresh the page.

Signed-off-by: Yaojin Qian <i@ume.ink>
2017-06-16 15:33:10 +08:00
Morris Jobke 242934c016
Remove dependency on jquery-migrate.js for browser detection
* ref #4628

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-01 17:53:48 -03:00
Joas Schilling 287bae8c5f Merge pull request #4153 from nextcloud/fix-upload
Fix upload of folders in Chrome
2017-04-06 09:56:41 +02:00
Morris Jobke 6e72fd5f9f
Fix upload of folders in Chrome
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-06 00:50:58 -05:00
Joas Schilling b6c1f3fc6d
Some more hardening
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-04-04 08:51:21 +02:00
SarthikaDhawan 62fb3bb3ef
file-upload.js modified : Remaining upload time corrected
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-04 08:51:20 +02:00
noveens 40228c0c2b
added quit option in commentstabview.js
added quit option in notif in app.js

added quit option in notif in file-upload.js

added quit option in notif in fileinfomodel.js

added quit option in notif in filelist.js

added quit option in notif in filelist.js

added quit option in notif in tagsplugin.js

added quit option in notif in statusmanager.js

added quit option in notif in external.js

added quit option in notif in versionstabview.js

added quit option in notif in notification.js

changes according to the latest review.

timeout removed since there is a button to close it

translation capability added

typo fixed

test files updated

small errors fixed

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-23 13:12:29 -06:00
Robin Appelman ad4b5c82da
dont preserve mtime when uploading trough the web interface
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-13 13:33:18 +01:00
Stefan Schneider f6ef024159 Correct incorrectly typed X-OC-Mtime header
Signed-off-by: Stefan Schneider <stefan.schneider@squareweave.com.au>
2017-03-10 18:16:27 +11:00
Morris Jobke 86149508d0
fix typo
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-28 00:14:34 -06:00
Christoph Wurst 3e7e49884e Replace deprecated $.tipsy(...) by $.tooltip(...)
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-02-27 22:25:05 +01:00
Lukas Reschke 56c016946d Merge pull request #2763 from nextcloud/fix_maindetailsview_favorite_star-patch
[downstream] Fix maindetailsview favorite star patch
2016-12-23 16:36:53 +01:00
Christoph Wurst cfada468e6
OC.Uploader does not have a 'state' method, therefore the
dead code can be removed

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2016-12-23 15:38:48 +01:00
Thomas Müller 2bf4661e40
Just use moment to comupte the time left for the upload - translations are delivered as part of moment.js - fixes #26804
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-22 10:01:58 +01:00
pflug c7fc010215 Fix showConflict
use getFullFileName to show conflicting file
add original.directory to make fileExists happy

Signed-off-by: Andreas Pflug <dev@admin4.org>
2016-12-19 08:11:04 +01:00
Arthur Schiwon 7e2b866fd7
fix type in jsdoc
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-12-06 18:08:13 +01:00
Vincent Petry 6a4ea2c15a
Upload autorename on client side
Removes the need for POST to collection which would hit against upload
limits.

The client tries to auto rename the file by adding a suffix "(2)".
It tries to use the file list on the client side to guess a
suitable name. In case a file still cannot be uploaded and creates a
conflict, which can happen when the file was concurrently uploaded, the
logic will continue increasing the suffix.
2016-11-02 22:15:03 +01:00
Vincent Petry 7e701504be
Remove upload_limit in files app as it is not needed with PUT upload (#26069)
The web UI now uses for PUT uploads which aren't restricted by PHP's
upload_max_filesize and post_max_size

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-11-02 20:43:35 +01:00
Vincent Petry 50b8221255
Highlight files and update storage stats at end of upload (#26164)
Properly trigger the "stop" even from the uploader.
Also update storage stats at the end of all uploads instead of for each
upload.
2016-10-25 14:51:44 +02:00
Vincent Petry f374eb5f1d
More fixes to file upload
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-24 21:45:00 +02:00
Vincent Petry f72ffa2f11
Fix js unit tests for webdav put upload changes
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-24 21:45:00 +02:00
Vincent Petry 786e858d23
Add support for chunked upload
Hacked around Blueimp's jquery.fileupload to make it work with our new
chunking API.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-24 21:45:00 +02:00
Vincent Petry 59c5be1cc5
Use Webdav PUT for uploads in the web browser
- uses PUT method with jquery.fileupload for regular and public file
  lists
- for IE and browsers that don't support it, use POST with iframe
  transport
- implemented Sabre plugin to handle iframe transport and redirect the
  embedded PUT request to the proper handler
- added RFC5995 POST to file collection with "add-member" property to
  make it possible to auto-rename conflicting file names
- remove obsolete ajax/upload.php and obsolete ajax routes

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-24 21:45:00 +02:00
Morris Jobke 6b2920a6bc Merge pull request #1520 from nextcloud/upload-allow-zero
Allow uploading empty files (#26113)
2016-09-26 17:40:53 +02:00
Vincent Petry e8836bfd30
Allow uploading empty files (#26113)
Downstreaming of https://github.com/owncloud/core/pull/26113

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-09-26 11:28:05 +02:00
Morris Jobke 8d4e5747f3
Fix folder drag glitch in Firefox
issue:
* drag'n'drop a folder into the files app in Firefox
* the highlight stays there because Firefox doesn't trigger the drop event for folders

solution:
* behave like the drop event if the dragover event isn't fired for 100ms (only applied in Firefox)
2016-09-14 13:44:34 +02:00
Joas Schilling 45c99c226b
Fix the HTML encoding when uploading a folder in FF when using french l10n 2016-07-20 13:03:27 +02:00
Vincent Chan 0552933770 changes emptycontent icon to drag-accept on file-drag 2016-06-23 11:25:03 +02:00
Vincent Chan 10f8d643dc store icons in class 2016-06-15 14:42:39 +02:00
Vincent Chan aecdcf737f dragging over folder will highlight folder only 2016-06-15 11:28:53 +02:00
Vincent Chan 6214420974 restrict dropZone to app-content div 2016-06-15 09:45:36 +02:00
Vincent Chan 203a07e7f3 change folder icon when dragging over a directory 2016-06-15 01:03:59 +02:00
Vincent Chan 433cea30c3 adds visual indication for file drag and drop 2016-06-13 23:00:56 +02:00
Vincent Petry 5f6fb45704
Merge branch 'Superduper-Progressbar-branch-thingie' of https://github.com/luckydonald/core into luckydonald-Superduper-Progressbar-branch-thingie 2016-05-12 18:15:54 +02:00
Christoph Wurst 05d203a989
replace $.parseJSON() by JSON.parse() 2016-04-19 15:06:42 +02:00
Lukas Reschke f8ae1bb36e Disable pastezone for jquery.fileupload
jquery.fileupload offers the [`pastezone`](https://github.com/blueimp/jQuery-File-Upload/wiki/Options#pastezone) functionality. This functionality is enabled by default and if somebody copy-pastes something into Chrome it will automatically trigger an upload of the content to any configured jquery.fileupload element embedded in the JS.

This implementation triggers some problems:

1. The pastezone is defined globally by default (🙈). So if there are multiple fileupload's on a page (such as in the personal settings) then stuff is going to be uploaded to all embedded uploads.
2. Our server code is not able to parse the data. For example for uploads in the files app we expect a file name which is not specified => Just an error is thrown. You can reproduce this by taking a file into your clipboard and in Chrome then pressing <kbd>CTRL + V</kbd>.
3. When copy-pasting some string from MS Office on the personal page a temporary avatar with said content is created.

Considering that this is anyways was never working at all and causes bugs I've set the `pastezone` to `null`. This mens that upload via copy and paste will be disabled.

Lesson learned: Third-party JS libraries can have some weird details.
2016-03-22 20:28:57 +01:00
Vincent Petry 8ea80e114a Accumulate notifications instead of blinking
This makes it possible to display multiple notifications.
If the options.type is set to "error", it will also add a close button.
2016-02-22 17:25:32 +01:00
Vincent Petry ceaefc2c54 Defer quota check in web UI when overwriting shared file
When receiving a shared file, the quota for that file counts in the
owner's storage, not the current user's storage.

To make it possible to overwrite the file even when the current user
doesn't have enough space, the quota check is deferred for such files.
2016-02-17 15:38:21 +01:00
Vincent Petry abd0ba1f25 Fix file upload, conflict dialog, also in public link
- Use "FileList" instead of "OCA.Files.App.fileList" that doesn't exist in public
link page.
- Fix public link upload by properly adding the form data using a new
  utility function "addFormData". That one is needed because IE8 upload
  and regular upload use a different format...
2015-10-21 12:18:06 +02:00
Vincent Petry 47475f3b4c Debounce cancel upload message 2015-10-12 15:11:52 +02:00
Thomas Müller aedb7a7e70 Revert "Debounce cancel upload message" 2015-10-12 11:30:15 +02:00
Vincent Petry 8a1a1c1326 Debounce cancel upload message 2015-10-07 16:34:06 +02:00
Vincent Petry 5dff9d88cb Make sure the conflict dialog is loaded before adding conflicts 2015-10-02 09:55:43 +02:00