From 230aa94f975405b1343f31ea13b734ba1cfd746b Mon Sep 17 00:00:00 2001 From: Gregoire Pailler Date: Sun, 6 Nov 2016 21:30:37 +0800 Subject: [PATCH] #1737 Updated MegaApiClient to 1.3.0. Customized ChunksPackSize value to upload files in 512MB fragments (instead 1MB fragments) --- ShareX.UploadersLib/FileUploaders/Mega.cs | 6 +++ .../ShareX.UploadersLib.csproj | 37 ++++++++++++++++++- ShareX.UploadersLib/app.config | 4 ++ ShareX.UploadersLib/packages.config | 5 ++- ShareX/ShareX.csproj | 4 -- ShareX/app.config | 4 ++ 6 files changed, 53 insertions(+), 7 deletions(-) diff --git a/ShareX.UploadersLib/FileUploaders/Mega.cs b/ShareX.UploadersLib/FileUploaders/Mega.cs index 2aefd644e..b5cb87a47 100644 --- a/ShareX.UploadersLib/FileUploaders/Mega.cs +++ b/ShareX.UploadersLib/FileUploaders/Mega.cs @@ -58,6 +58,11 @@ public override GenericUploader CreateUploader(UploadersConfig config, TaskRefer public sealed class Mega : FileUploader, IWebClient { + // Pack file upload in 512MB fragments + // (by default, MegaApiClient splits files in 1MB fragments and do multiple uploads) + // It allows to have a consistent upload progression in Sharex + private const int UploadChunksPackSize = 512 * 1024 * 1024; + private readonly MegaApiClient _megaClient; private readonly MegaApiClient.AuthInfos _authInfos; private readonly string _parentNodeId; @@ -74,6 +79,7 @@ public Mega(MegaApiClient.AuthInfos authInfos, string parentNodeId) { AllowReportProgress = false; _megaClient = new MegaApiClient(this); + _megaClient.ChunksPackSize = UploadChunksPackSize; _authInfos = authInfos; _parentNodeId = parentNodeId; } diff --git a/ShareX.UploadersLib/ShareX.UploadersLib.csproj b/ShareX.UploadersLib/ShareX.UploadersLib.csproj index 93777defd..d36b173bf 100644 --- a/ShareX.UploadersLib/ShareX.UploadersLib.csproj +++ b/ShareX.UploadersLib/ShareX.UploadersLib.csproj @@ -86,8 +86,8 @@ ..\packages\AWSSDK.S3.3.1.10.0\lib\net35\AWSSDK.S3.dll True - - ..\packages\MegaApiClient.1.2.2\lib\net40\MegaApiClient.dll + + ..\packages\MegaApiClient.1.3.0\lib\net40\MegaApiClient.dll True @@ -102,12 +102,40 @@ + + ..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.IO.dll + True + ..\packages\System.Net.FtpClient.1.0.5281.14359\lib\net40\System.Net.FtpClient.dll True + + ..\packages\Microsoft.Net.Http.2.2.29\lib\net40\System.Net.Http.dll + True + + + ..\packages\Microsoft.Net.Http.2.2.29\lib\net40\System.Net.Http.Extensions.dll + True + + + ..\packages\Microsoft.Net.Http.2.2.29\lib\net40\System.Net.Http.Primitives.dll + True + + + ..\packages\Microsoft.Net.Http.2.2.29\lib\net40\System.Net.Http.WebRequest.dll + True + + + ..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Runtime.dll + True + + + ..\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Threading.Tasks.dll + True + @@ -894,6 +922,11 @@ if not exist APIKeysLocal.cs ( type nul > APIKeysLocal.cs ) + + + + +