summary refs log tree commit diff
path: root/webclient/components/fileUpload/file-upload-service.js
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/file-upload-service.js
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/file-upload-service.js')
-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
+}]);