Commit graph

173 commits

Author SHA1 Message Date
Morris Jobke
876238ce8b
Merge pull request #7533 from nextcloud/oc-28545-handle-oc-total-length-in-new-chunking
[oc] Handle OC-Total-Length in new chunking
2018-01-03 16:18:24 +01:00
John Molakvoæ (skjnldsv)
0cb45f681f
Update quota on file upload and deletion
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-12-21 10:48:43 +01:00
Vincent Petry
ec8bf53356 Only set X-OC-Mtime when browser provided lastModified on upload
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-12-15 14:46:53 +01:00
Thomas Müller
f39de4ab37 Transmit OC-Total-Length in browser as well
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-12-15 14:46:48 +01:00
Vincent Petry
dfc91a253c Parse Sabre Exception in OC.Files.Client and file-upload
In case of error, instead of a generic error message, an upload will
display whichever message is returned in the Sabre Exception, if
applicable.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-11-13 12:19:14 +01:00
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