summary refs log tree commit diff
path: root/webclient/components/fileUpload
diff options
context:
space:
mode:
authorKegan Dougal <kegan@matrix.org>2014-08-18 15:50:55 +0100
committerKegan Dougal <kegan@matrix.org>2014-08-18 17:18:54 +0100
commit35da1bf4a3ee6eeafec5965af05cefbb4bd3c0b5 (patch)
tree020fcae7d4ec3dd57022138c39a8af780839b247 /webclient/components/fileUpload
parentAdded /matrix/content path, HS resource_for_content_repo attribute and FileUp... (diff)
downloadsynapse-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')
-rw-r--r--webclient/components/fileUpload/file-upload-service.js29
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 +}]);