mirror of
				https://github.com/KevinMidboe/immich.git
				synced 2025-10-29 17:40:28 +00:00 
			
		
		
		
	Download asset to local and error fixing (#100)
* Update photo_manager pub package * Added download endpoint for assets * Successfully save a photo to the local device's gallery * Save save a video to the local device's gallery * Fixed #97 * Added download loading indicator * Refactor and increase the font size for curated search thumbnail images * Reposition loading animation on the search result page
This commit is contained in:
		| @@ -73,7 +73,7 @@ class BackupService { | ||||
|           }); | ||||
|  | ||||
|           // Build thumbnail multipart data | ||||
|           var thumbnailData = await entity.thumbDataWithSize(1280, 720); | ||||
|           var thumbnailData = await entity.thumbnailDataWithSize(const ThumbnailSize(720, 1280)); | ||||
|           if (thumbnailData != null) { | ||||
|             thumbnailUploadData = MultipartFile.fromBytes( | ||||
|               List.from(thumbnailData), | ||||
|   | ||||
| @@ -1,3 +1,4 @@ | ||||
| import 'dart:async'; | ||||
| import 'dart:convert'; | ||||
|  | ||||
| import 'package:dio/dio.dart'; | ||||
| @@ -25,16 +26,36 @@ class NetworkService { | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   Future<dynamic> getRequest({required String url}) async { | ||||
|   Future<dynamic> getRequest({required String url, bool isByteResponse = false, bool isStreamReponse = false}) async { | ||||
|     try { | ||||
|       var dio = Dio(); | ||||
|       dio.interceptors.add(AuthenticatedRequestInterceptor()); | ||||
|  | ||||
|       var savedEndpoint = Hive.box(userInfoBox).get(serverEndpointKey); | ||||
|       Response res = await dio.get('$savedEndpoint/$url'); | ||||
|  | ||||
|       if (res.statusCode == 200) { | ||||
|         return res; | ||||
|       if (isByteResponse) { | ||||
|         Response<List<int>> res = await dio.get<List<int>>( | ||||
|           '$savedEndpoint/$url', | ||||
|           options: Options(responseType: ResponseType.bytes), | ||||
|         ); | ||||
|  | ||||
|         if (res.statusCode == 200) { | ||||
|           return res; | ||||
|         } | ||||
|       } else if (isStreamReponse) { | ||||
|         Response<ResponseBody> res = await dio.get<ResponseBody>( | ||||
|           '$savedEndpoint/$url', | ||||
|           options: Options(responseType: ResponseType.stream), | ||||
|         ); | ||||
|  | ||||
|         if (res.statusCode == 200) { | ||||
|           return res; | ||||
|         } | ||||
|       } else { | ||||
|         Response res = await dio.get('$savedEndpoint/$url'); | ||||
|         if (res.statusCode == 200) { | ||||
|           return res; | ||||
|         } | ||||
|       } | ||||
|     } on DioError catch (e) { | ||||
|       debugPrint("DioError: ${e.response}"); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user