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 ) + + + + +