diff options
author | Kegan Dougal <kegan@matrix.org> | 2014-08-18 15:50:55 +0100 |
---|---|---|
committer | Kegan Dougal <kegan@matrix.org> | 2014-08-18 17:18:54 +0100 |
commit | 35da1bf4a3ee6eeafec5965af05cefbb4bd3c0b5 (patch) | |
tree | 020fcae7d4ec3dd57022138c39a8af780839b247 /webclient/components/fileUpload/file-upload-service.js | |
parent | Added /matrix/content path, HS resource_for_content_repo attribute and FileUp... (diff) | |
download | synapse-35da1bf4a3ee6eeafec5965af05cefbb4bd3c0b5.tar.xz |
Auth content uploads. Added a mapping function from request > filename. Added exception handling for content uploads. webclient: Only prefix the client API path on doRequest, not doBaseRequest (this would've broken the identity server auth too). Added matrixService.uploadContent. May not require mFileUpload anymore.
Diffstat (limited to 'webclient/components/fileUpload/file-upload-service.js')
-rw-r--r-- | webclient/components/fileUpload/file-upload-service.js | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/webclient/components/fileUpload/file-upload-service.js b/webclient/components/fileUpload/file-upload-service.js index 5729d5da48..0826666fe4 100644 --- a/webclient/components/fileUpload/file-upload-service.js +++ b/webclient/components/fileUpload/file-upload-service.js @@ -16,11 +16,12 @@ 'use strict'; +// TODO determine if this is really required as a separate service to matrixService. /* * Upload an HTML5 file to a server */ angular.module('mFileUpload', []) -.service('mFileUpload', ['$http', '$q', function ($http, $q) { +.service('mFileUpload', ['matrixService', '$q', function (matrixService, $q) { /* * Upload an HTML5 file to a server and returned a promise @@ -28,20 +29,18 @@ angular.module('mFileUpload', []) */ this.uploadFile = function(file) { var deferred = $q.defer(); - - // @TODO: This service runs with the do_POST hacky implementation of /synapse/demos/webserver.py. - // This is temporary until we have a true file upload service - console.log("Uploading " + file.name + "..."); - $http.post(file.name, file) - .success(function(data, status, headers, config) { - deferred.resolve(location.origin + data.url); - console.log(" -> Successfully uploaded! Available at " + location.origin + data.url); - }). - error(function(data, status, headers, config) { - console.log(" -> Failed to upload" + file.name); - deferred.reject(); - }); + console.log("Uploading " + file.name + "... to /matrix/content"); + matrixService.uploadContent(file).then( + function(response) { + console.log(" -> Successfully uploaded! Available at " + location.origin + response.data.url); + deferred.resolve(location.origin + response.data.url); + }, + function(error) { + console.log(" -> Failed to upload " + file.name); + deferred.reject(error); + } + ); return deferred.promise; }; -}]); \ No newline at end of file +}]); |