C# 如何将文件发送到 webhook 并获取已发送文件的 link?

C# How to send a file to webhook and get sent file's link?

你好,我正在尝试将文件上传到 link,我尝试了这个:

`private void buttonInput_Click(object sender, EventArgs e)
    {
        try
        {
            using (WebClient client = new WebClient())
            {
                var resStr = client.UploadFile(@"https://anonfiles.com", @"C:\Users\sadettin\desktop\test.txt");
                var jObjResult = JObject.Parse(Encoding.UTF8.GetString(resStr));
                var linkToFile = jObjResult["link"];
            }
        }
        catch(Exception err)
        {
            MessageBox.Show(err.Message);
        }
    }`

但是我遇到了 404 错误。

现在我想将任何 txt 文件发送到我的 discord webhook 地址并获取已发送文件的 link。

我该怎么办?

尽管您声称,使用正确的 end-point 和 non-zero 字节文件确实会导致上传文件:

using (WebClient client = new WebClient())
{
      var resStr = client.UploadFile(@"https://api.anonfiles.com/upload", @"C:\tmp\test.txt");
      var jObjResult = JObject.Parse(Encoding.UTF8.GetString(resStr));
      var linkToFile = jObjResult["data"]["file"]["url"]["full"].ToString();
      MessageBox.Show(linkToFile);
}

请注意 JSON structure that is returned 与您似乎处理的不同。 url 在此路径 /data/file/url 下的属性 full 中找到,因此我的代码示例中的这一行:

var linkToFile = jObjResult["data"]["file"]["url"]["full"];

这是该服务随我的测试文件返回给我的完整 url 之一

https://anonfiles.com/nai0Z3S0x5/test_txt

一共是106字节