diff --git a/guacamole/src/main/frontend/src/app/client/types/ManagedFileUpload.js b/guacamole/src/main/frontend/src/app/client/types/ManagedFileUpload.js index 56587fcd0..95eef0c61 100644 --- a/guacamole/src/main/frontend/src/app/client/types/ManagedFileUpload.js +++ b/guacamole/src/main/frontend/src/app/client/types/ManagedFileUpload.js @@ -163,17 +163,19 @@ angular.module('client').factory('ManagedFileUpload', ['$rootScope', '$injector' // Upload complete managedFileUpload.progress = file.size; + + // Close the stream + stream.sendEnd(); ManagedFileTransferState.setStreamState(managedFileUpload.transferState, ManagedFileTransferState.StreamState.CLOSED); // Notify of upload completion $rootScope.$broadcast('guacUploadComplete', file.name); - }, // Notify if upload fails requestService.createErrorCallback(function uploadFailed(error) { - + // Use provide status code if the error is coming from the stream if (error.type === Error.Type.STREAM_ERROR) ManagedFileTransferState.setStreamState(managedFileUpload.transferState, @@ -185,11 +187,15 @@ angular.module('client').factory('ManagedFileUpload', ['$rootScope', '$injector' ManagedFileTransferState.setStreamState(managedFileUpload.transferState, ManagedFileTransferState.StreamState.ERROR, Guacamole.Status.Code.INTERNAL_ERROR); + + // Close the stream + stream.sendEnd(); })); // Ignore all further acks stream.onack = null; + };