/csharp-catbox-upload

A very basic wrapper for uploading files to catbox.moe anonymously with no extra libraries.

Primary LanguageC#MIT LicenseMIT

csharp-catbox-upload

A very basic wrapper for uploading files to catbox.moe anonymously with no extra libraries.

I couldn't find examples of this anywhere online, so I uploaded the single file to GitHub for anyone else looking for this. Currently, the only functionality is uploading files anonymously, as that's what I was trying to achieve, but I may create a full C# library in the future.

This is just a lazy port from my Unity project. Obviously feel free to move this function into any of your pre-existing classes.

using System;
using System.IO;
using System.Net.Http;
public class CatboxUploader
{
// NOTE - You can also return Task<string> instead of void and remove the callback to just await this method
public static async void UploadToCatbox(string filePath, Action<string> callback)
{
using var client = new HttpClient();
client.BaseAddress = new Uri("https://catbox.moe/user/api.php");
using var content = new MultipartFormDataContent();
content.Add(new StringContent("fileupload"), "reqtype");
content.Add(new StreamContent(File.OpenRead(filePath)), "fileToUpload", Path.GetFileName(filePath));
var response = await client.PostAsync("", content);
if (response.IsSuccessStatusCode)
{
var url = await response.Content.ReadAsStringAsync();
callback(url);
}
else
{
// Handle your failed requests here
}
}
}