SoFunction
Updated on 2025-04-09

Upload large files solution

    string text2 = (buffer2, "UploadGUID");
    if (text2 != )
    {
     ("LionSky_UpLoadModule_UploadGUID", text2);
    }
    bool flag1 = true;
    if ((num2 > ()) && ((0 > ) || ( > 3)))
    {
     flag1 = false;
    }
    if ((0 > ) || ( > 3))
    {
     flag1 = false;
    }
    string text3 = (buffer2, "UploadFolder");
    ArrayList list1 = new ArrayList();
    RequestStream stream1 = new RequestStream(buffer2, buffer1, null, , , text3, flag1, , );
    ();
    if (text2 != )
    {
      = num2;
      = num1;
      = ;
      = ((Hashtable) ["FileList"]).Count;
     ["_UploadGUID_" + text2] = progress1;
    }
    if (!())
    {
     byte[] buffer4;
     ArrayList list2;
     int num3 = 204800;
     byte[] buffer3 = new byte[num3];
     while ((num2 - num1) >= num3)
     {
      if (!)
      {
       (application1);
      }
      num3 = (buffer3, );
      num1 += num3;
      list2 = ;
      if ( > 0)
      {
       buffer4 = new byte[ + ];
       (buffer4, 0);
       (buffer4, );
       stream1 = new RequestStream(buffer4, buffer1, , , , text3, flag1, , );
      }
      else
      {
       stream1 = new RequestStream(buffer3, buffer1, , , , text3, flag1, , );
      }
      ();
      if (text2 != )
      {
        = num1;
        = ;
        = ((Hashtable) ["FileList"]).Count;
       ["_UploadGUID_" + text2] = progress1;
      }
     }
     buffer3 = new byte[num2 - num1];
     if (! && ( == ))
     {
      (application1);
     }
     num3 = (buffer3, );
     list2 = ;
     if ( > 0)
     {
      buffer4 = new byte[ + ];
      (buffer4, 0);
      (buffer4, );
      stream1 = new RequestStream(buffer4, buffer1, , , , text3, flag1, , );
     }
     else
     {
      stream1 = new RequestStream(buffer3, buffer1, , , , text3, flag1, , );
     }
     ();
     if (text2 != )
     {
       = num1 + ;
       = ;
       = ((Hashtable) ["FileList"]).Count;
      if (flag1)
      {
        = ;
      }
      else
      {
       ("_UploadGUID_" + text2);
      }
     }
    }
    byte[] buffer5 = new byte[];
    (buffer5);
    (request1, buffer5);
   }
   catch (Exception exception1)
   {
    (application1);
    throw exception1;
   }