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