public void QueueUpload(FromUrlRequest request, string requestId, User user) { ThreadPool.QueueUserWorkItem(async _ => { using var scope = _serviceProvider.CreateScope(); var context = scope.ServiceProvider.GetService <DefaultContext>(); var service = scope.ServiceProvider.GetService <ProxmoxVmTemplateService>(); try { using var response = DownloadFile(ShareLinkConverter.ConvertUrl(request.Url)); long contentLength = long.Parse(response.Headers["Content-Length"]); using var stream = response.GetResponseStream(); await service.UploadTemplate(context, request.Name, user, stream, contentLength, progress => SetProgress(requestId, progress)); SetComplete(requestId); } catch (Exception e) { SetError(requestId); Console.Error.WriteLine(e); } }); }
public void TestOneDriveLink() { Assert.AreEqual( "https://api.onedrive.com/v1.0/shares/u!aHR0cHM6Ly8xZHJ2Lm1zL3UvcyFBc2Nmckx4aW1EU0lnYXdWSVZzUENYUGs1UjRSbFE_ZT1jaEdBaUU/root/content", ShareLinkConverter.ConvertOneDrive("https://1drv.ms/u/s!AscfrLximDSIgawVIVsPCXPk5R4RlQ?e=chGAiE")); }
public void TestGoogleDriveLink() { Assert.AreEqual( "https://drive.google.com/uc?export=download&id=1bz9neuV7wgVL3WUJNnJaRYkhcgXTh_dS", ShareLinkConverter.ConvertGoogleDrive("https://drive.google.com/file/d/1bz9neuV7wgVL3WUJNnJaRYkhcgXTh_dS/view?usp=sharing")); }