static async Task Main(string[] args) { var stream = new MemoryStream(1024 * 1024 * 32); for (var i = 0; i < 1024 * 1024 * 32; i++) { stream.Write(Encoding.UTF8.GetBytes(BitConverter.ToString(new byte[] { (byte)i }), 0, 2)); } //reset position stream.Position = 0; // remote tus service var hostUri = new Uri(@"http://localhost:5000/files"); // build a standalone tus client instance var tusClient = TusBuild.DefaultTusClientBuild(hostUri) .Build(); //hook up events tusClient.UploadProgress += printUploadProcess; tusClient.UploadFinish += uploadFinish; //define additional file metadata MetadataCollection metadata = new MetadataCollection(); //create upload url var uploadUrl = await tusClient.Create(stream.Length, metadata); //upload file var uploadResult = await tusClient.Upload(uploadUrl, stream, null); }
static async Task Main(string[] args) { var location = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); // file to be uploaded FileInfo fileInfo = new FileInfo(Path.Combine(location, "test.txt")); // remote tus service var hostUri = new Uri(@"http://localhost:5000/files"); // build a standalone tus client instance var tusClient = TusBuild.DefaultTusClientBuild(hostUri) .Build(); //hook up events tusClient.UploadProgress += printUploadProcess; tusClient.UploadFinish += uploadFinish; //define additional file metadata MetadataCollection metadata = new MetadataCollection(); metadata["filename"] = fileInfo.FullName; //create upload url var fileUrl = await tusClient.Create(fileInfo, metadata); //upload file var uploadResult = await tusClient.Upload(fileUrl, fileInfo, null); }
public async Task TestUploadFilesAsync() { var tusClient = TusBuild.DefaultTusClientBuild(tusHost) .Build(); var fileInfo = new FileInfo(@"TestFile/test.mp4"); Dictionary <string, string> dir = new Dictionary <string, string>(); dir["filename"] = fileInfo.FullName; List <Uri> fileUrls = new List <Uri>(); for (int i = 0; i < 30; i++) { var fileUrl = await tusClient.Create(fileInfo, dir); fileUrls.Add(fileUrl); } foreach (var item in fileUrls) { var uploadResult = await tusClient.Upload(item, fileInfo); Assert.True(uploadResult); } }
private ITusClient BuildClient() { Uri host = new Uri("http://localhost:6000/files"); ITusClient tusClient = TusBuild.DefaultTusClientBuild(host) .Build(); return(tusClient); }
public async Task TestCreateTusClientAsync() { var tusClient = TusBuild.DefaultTusClientBuild(tusHost) .Build(); var fileInfo = new FileInfo(@"TestFile/test.mp4"); MetadataCollection dir = new MetadataCollection(); dir["filename"] = fileInfo.FullName; var result = await tusClient.Create(fileInfo, dir); }
public async Task TestCreateTusClientAsync() { var tusClient = TusBuild.DefaultTusClientBuild(tusHost) .Build(); var fileInfo = new FileInfo(@"TestFile/test.mp4"); Dictionary <string, string> dir = new Dictionary <string, string>(); dir["filename"] = fileInfo.FullName; var result = await tusClient.Create(fileInfo, dir); }
static async Task Main(string[] args) { var location = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); // file to be uploaded FileInfo fileInfo = new FileInfo(Path.Combine(location, @"TestFile/test.txt")); // remote tus service var hostUri = new Uri(@"http://localhost:6000/files"); // build a standalone tus client instance var tusClient = TusBuild.DefaultTusClientBuild(hostUri) .Configure((options, httpClientBuilder) => { //customize http client httpClientBuilder.ConfigureHttpClient(httpClient => { httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "ACCESS_TOKEN"); }); /* httpClientBuilder.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler() * { * UseCookies = false, * });*/ }) .Build(); //hook up events tusClient.UploadProgress += printUploadProcess; tusClient.UploadFinish += uploadFinish; //define additional file metadata MetadataCollection metadata = new MetadataCollection(); metadata["filename"] = fileInfo.FullName; TusRequestOption requestOption = new TusRequestOption(); requestOption.HttpHeader["hello"] = "hello"; //create upload url var fileUrl = await tusClient.Create(fileInfo, null, requestOption); var uploadOpt = new TusRequestOption() { UploadWithStreaming = true //enable streaming Upload }; //upload file var uploadResult = await tusClient.Upload(fileUrl, fileInfo, null, uploadOpt); }
public async Task TestConfigTusAsync() { var tusClient = TusBuild.DefaultTusClientBuild(tusHost) .Configure((option, httpClientBuilder) => { option.GetChunkUploadSize = (s, u) => 10 * 1024 * 1024; }) .Build(); var fileInfo = new FileInfo(@"TestFile/test.mp4"); MetadataCollection dir = new MetadataCollection(); dir["filename"] = fileInfo.FullName; var result = await tusClient.Create(fileInfo, dir); }
public async Task TestConfigTusAsync() { var tusClient = TusBuild.DefaultTusClientBuild(tusHost) .Configure(option => { option.GetUploadSize = (u) => 10 * 1024 * 1024; }) .Build(); var fileInfo = new FileInfo(@"TestFile/test.mp4"); Dictionary <string, string> dir = new Dictionary <string, string>(); dir["filename"] = fileInfo.FullName; var result = await tusClient.Create(fileInfo, dir); }
static async Task Main(string[] args) { FileInfo fileInfo = new FileInfo("test.dmg"); var hostUri = new Uri(@"http://localhost:5000/files"); var tusClient = TusBuild.DefaultTusClientBuild(hostUri) .Build(); tusClient.Uploading += printUploadProcess; tusClient.UploadFinish += UploadFinish; Dictionary <string, string> dir = new Dictionary <string, string>(); dir["filename"] = fileInfo.FullName; var fileUrl = await tusClient.Create(fileInfo, dir); var uploadResult = await tusClient.Upload(fileUrl, fileInfo); Console.ReadLine(); }