Title | Added | Status | Last reviewed |
---|---|---|---|
Upload Service |
v2.0.0 |
Active |
2019-01-16 |
Provides access to various APIs related to file upload features.
-
addToQueue(files:
FileModel
[]
):FileModel
[]
Adds files to the uploading queue to be uploaded -
cancelUpload(files:
FileModel
[]
)
Cancels uploading of files. If the file is smaller than 1 MB the file will be uploaded and then the node deleted to prevent having files that were aborted but still uploaded.- files:
FileModel
[]
- One or more separate parameters or an array of files specifying uploads to cancel
- files:
-
clearCache()
-
clearQueue()
Clears the upload queue -
getQueue():
FileModel
[]
Gets the file Queue- Returns
FileModel
[]
- Array of files that form the queue
- Returns
-
getThreadsCount():
number
Returns the number of concurrent threads for uploading.- Returns
number
- Number of concurrent threads (default 1)
- Returns
-
getUploadPromise(file:
FileModel
):any
Gets an upload promise for a file. -
isUploading():
boolean
Checks whether the service still has files uploading or awaiting upload.- Returns
boolean
- True if files in the queue are still uploading, false otherwise
- Returns
-
uploadFilesInTheQueue(successEmitter?:
EventEmitter
<any>
, errorEmitter?:EventEmitter
<any>
)
Finds all the files in the queue that are not yet uploaded and uploads them into the directory folder.- successEmitter:
EventEmitter
<any>
- (Optional) Emitter to invoke on file success status change - errorEmitter:
EventEmitter
<any>
- (Optional) Emitter to invoke on file error status change
- successEmitter:
Name | Type | Description |
---|---|---|
queueChanged | FileModel [] |
Emitted when the file queue changes. |
fileUpload | FileUploadEvent |
Emitted when a File model changes its state. |
fileUploadStarting | FileUploadEvent |
Emitted when an upload starts. |
fileUploadCancelled | FileUploadEvent |
Emitted when an upload gets cancelled by the user. |
fileUploadProgress | FileUploadEvent |
Emitted during the file upload process and contains the current progress for a particular File model. |
fileUploadAborted | FileUploadEvent |
Emitted when a file upload gets aborted by the server. |
fileUploadError | FileUploadEvent |
Emitted when an error occurs during a file upload. |
fileUploadComplete | FileUploadCompleteEvent |
Emitted when a file upload is complete. |
fileUploadDelete | FileUploadDeleteEvent |
Emitted when an uploaded file is removed from server. |
fileDeleted | string | This can be invoked when a file is deleted from an external source to upload the file dialog status. |
You can add an ignore list for files that you don't want to be uploaded on your CS.
The configuration of this service is saved in the app.config.json
file
(see the App Config service for more information).
The example below shows how to filter out the : '.git', '.DS_Store' and 'desktop.ini' files.
Each element of the ignore list is a glob pattern string, so you could exclude all the .txt
files, for example, by adding a *.txt
pattern to the list.
You can also specify some more options about how to perform the check via the match-options
parameter.
In the example below, we have added the nocase
option (ie, ignore case when performing the
glob match), so *.TXT
will also match .txt
, etc.
For more information about the options available please check the documentation for the
minimatch
node module.
app.config.json
{
"ecmHost": "http://localhost:3000/ecm",
"bpmHost": "http://localhost:3000/bpm",
"application": {
"name": "Alfresco"
},
"files": {
"excluded": [".DS_Store", "desktop.ini", ".git", "*.txt"],
"match-options": {
"nocase": true
}
}
}
From version 3.8.0
it is also possible to filter out the folders:
app.config.json
{
"ecmHost": "http://localhost:3000/ecm",
"bpmHost": "http://localhost:3000/bpm",
"application": {
"name": "Alfresco"
},
"folders": {
"excluded": [".git"],
"match-options": {
"nocase": true
}
}
}
In this way all the files present in the .git folder won't be uploaded.
Please note that the filtering options available for the folders is the same as the one for the files.
It is also possible to provide the versioningEnabled
value as part of the FileUploadOptions
when using upload service from the code.
Note: When creating a new node using multipart/form-data by default versioning is enabled and set to MAJOR Version. Since Alfresco 6.2.3 versioningEnabled flag was introduced offering better control over the new node Versioning.
By default, the Upload Service processes one file at a time.
You can increase the number of concurrent threads by changing the upload.threads
configuration parameter:
app.config.json
{
"upload": {
"threads": 2
}
}