浏览代码

Fix issues with respect to uploading photos

Vishnu Mohandas 5 年之前
父节点
当前提交
2cdb268b80
共有 3 个文件被更改,包括 11 次插入4 次删除
  1. 3 0
      lib/core/configuration.dart
  2. 1 0
      lib/models/photo.dart
  3. 7 4
      lib/photo_sync_manager.dart

+ 3 - 0
lib/core/configuration.dart

@@ -20,6 +20,9 @@ class Configuration {
   }
 
   String getHttpEndpoint() {
+    if (getEndpoint() == null) {
+      return "";
+    }
     return "http://" + getEndpoint() + ":8080";
   }
 

+ 1 - 0
lib/models/photo.dart

@@ -18,6 +18,7 @@ class Photo {
   Photo.fromJson(Map<String, dynamic> json)
       : uploadedFileId = json["fileId"],
         remotePath = json["path"],
+        title = json["title"],
         createTimestamp = json["createTimestamp"],
         syncTimestamp = json["syncTimestamp"];
 

+ 7 - 4
lib/photo_sync_manager.dart

@@ -2,7 +2,6 @@ import 'dart:async';
 import 'dart:io';
 
 import 'package:logger/logger.dart';
-import 'package:http_parser/http_parser.dart';
 import 'package:myapp/core/event_bus.dart';
 import 'package:myapp/db/db_helper.dart';
 import 'package:myapp/events/user_authenticated_event.dart';
@@ -79,6 +78,9 @@ class PhotoSyncManager {
           first.createTimestamp.compareTo(second.createTimestamp));
       _updateDatabase(photos, prefs, lastDBUpdateTimestamp).then((_) {
         _isSyncInProgress = false;
+        _syncPhotos().then((_) {
+          _deletePhotos();
+        });
       });
     }
   }
@@ -168,9 +170,10 @@ class PhotoSyncManager {
 
   Future<Photo> _uploadFile(Photo localPhoto) async {
     var formData = FormData.fromMap({
-      "file":
-          MultipartFile.fromFile((await localPhoto.getAsset().originFile).path),
-      "filename": localPhoto.title,
+      "file": MultipartFile.fromBytes((await localPhoto.getOriginalBytes()),
+          filename: localPhoto.title),
+      "title": localPhoto.title,
+      "createTimestamp": localPhoto.createTimestamp,
       "user": Configuration.instance.getUsername(),
       "token": Configuration.instance.getToken(),
     });