IWithDownloads

interface

Namespace: Vuplex.WebView

An interface implemented by a webview if it supports file downloads. When downloads are enabled enabled, files are downloaded to Application.temporaryCachePath, but you can move them to a different location after they finish downloading.

Example

await webViewPrefab.WaitUntilInitialized();
var webViewWithDownloads = webViewPrefab.WebView as IWithDownloads;
if (webViewWithDownloads == null) {
    Debug.Log("This 3D WebView plugin doesn't yet support IWithDownloads: " + webViewPrefab.WebView.PluginType);
    return;
}
webViewWithDownloads.SetDownloadsEnabled(true);
webViewWithDownloads.DownloadProgressChanged += (sender, eventArgs) => {
    Debug.Log(
        $@"DownloadProgressChanged:
        Type: {eventArgs.Type},
        Url: {eventArgs.Url},
        Progress: {eventArgs.Progress},
        Id: {eventArgs.Id},
        FilePath: {eventArgs.FilePath},
        ContentType: {eventArgs.ContentType}"
    );
    if (eventArgs.Type == ProgressChangeType.Finished) {
        Debug.Log("Download finished");
        // Now that the file has finished downloading, do something with it.
        // For example, you can move it to a different location.
        File.Move(eventArgs.FilePath, someOtherLocation);
    }
};

Summary

Public methods

SetDownloadsEnabled

void SetDownloadsEnabled(bool enabled)

Sets whether file downloads are enabled. The default is disabled.

Public events

DownloadProgressChanged

EventHandler<DownloadChangedEventArgs> DownloadProgressChanged

Indicates that the progress of a file download changed.