Skip to content
Cross Platform HTTP Transfers for downloading and uploading (supports background operations)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Plugin.HttpTransferTasks
Sample.Api
Sample
.gitattributes
.gitignore
ISSUE_TEMPLATE
LICENSE.md
Plugin.HttpTransferTasks.sln
changelog.md nuget and version bump Dec 8, 2018
nuget.exe update nuget Dec 8, 2018
push.cmd
readme.md

readme.md

ACR HTTP Transfers Plugin for Xamarin and Windows

Cross platform HTTP download/upload manager

SUPPORT THIS PROJECT

Change Log

NuGet Build status

SUPPORTED PLATFORMS

Platform Version
iOS 7+
Android 4.3+
Windows UWP 16299+
.NET Standard 2.0

FEATURES

  • Background Uploads & Downloads on each platform
  • Supports transfer filtering based on metered connections (iOS & UWP only at the moment)
  • Event Based Metrics
    • Percentage Complete
    • Total Bytes Expected
    • Total Bytes Transferred
    • Transfer Speed (Bytes Per Second)
    • Estimated Completion Time

SETUP

Be sure to install the Plugin.HttpTransferTasks nuget package in all of your main platform projects as well as your core/PCL project

NuGet

Android

Add the following to your AndroidManifest.xml

<uses-permission android:name="android.permission.WAKE_LOCK"/>

HOW TO USE BASICS

// discover some devices
var task = CrossHttpTransfers.Current.Upload("http://somewheretosend.com", "<YOUR LOCAL FILEPATH>");


// when performing downloads, it is necessary to listen to where the temp file lands (this is due to iOS)
var task = CrossHttpTransfers.Current.Download("http://somewheretosend.com");
task.PropertyChanged += (sender, args) => 
{
    if (task.Status != nameof(IHttpStatus.Task))
        return;

    if (task.Status == TaskStatus.Completed)
    {
        task.LocalFilePath // move this file appropriately here
    }
};
You can’t perform that action at this time.