mirror of
https://github.com/wiz0u/WTelegramClient.git
synced 2025-12-06 06:52:01 +01:00
closes #103: files incorrectly padded to nearest 16 bytes
This commit is contained in:
parent
49969e46cf
commit
d64c5c0c1e
|
|
@ -177,7 +177,7 @@ var uploadedFile = await client.UploadFileAsync(@"C:\Pictures\flower.jpg");
|
|||
// Photo 3 specified by external url:
|
||||
const string photoUrl = "https://picsum.photos/310/200.jpg";
|
||||
|
||||
var inputMedias = new InputMedia[]
|
||||
var inputMedias = new List<InputMedia>
|
||||
{
|
||||
photoFromTelegram, // PhotoBase has implicit conversion to InputMediaPhoto
|
||||
new InputMediaUploadedPhoto { file = uploadedFile },
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ namespace WTelegram
|
|||
bool abort = false;
|
||||
for (long bytesLeft = length; !abort && bytesLeft != 0; file_part++)
|
||||
{
|
||||
var bytes = new byte[(Math.Min(FilePartSize, bytesLeft) + 15) & ~15];
|
||||
var bytes = new byte[Math.Min(FilePartSize, bytesLeft)];
|
||||
read = await stream.FullReadAsync(bytes, bytes.Length, default);
|
||||
await _parallelTransfers.WaitAsync();
|
||||
bytesLeft -= read;
|
||||
|
|
|
|||
|
|
@ -539,6 +539,7 @@ j4WcDuXc2CTHgH8gFTNhp/Y8/SpDOhvn9QIDAQAB
|
|||
else { prevBytes = new byte[32]; Array.Copy(iv, 0, prevBytes, 16, 16); Array.Copy(iv, 16, prevBytes, 0, 16); }
|
||||
}
|
||||
|
||||
public override long Length => base.Length + 15 & ~15;
|
||||
public override bool CanSeek => false;
|
||||
public override long Seek(long offset, SeekOrigin origin) => throw new NotSupportedException();
|
||||
|
||||
|
|
@ -549,7 +550,7 @@ j4WcDuXc2CTHgH8gFTNhp/Y8/SpDOhvn9QIDAQAB
|
|||
Process(buffer, offset, count);
|
||||
if (ContentLength.HasValue && _innerStream.Position == _innerStream.Length)
|
||||
return count - (int)(_innerStream.Position - ContentLength.Value);
|
||||
return count;
|
||||
return count + 15 & ~15;
|
||||
}
|
||||
|
||||
public override void Write(byte[] buffer, int offset, int count)
|
||||
|
|
@ -562,7 +563,7 @@ j4WcDuXc2CTHgH8gFTNhp/Y8/SpDOhvn9QIDAQAB
|
|||
|
||||
public void Process(byte[] buffer, int offset, int count)
|
||||
{
|
||||
count = (count + 15) & ~15;
|
||||
count = count + 15 & ~15;
|
||||
var span = MemoryMarshal.Cast<byte, long>(buffer.AsSpan(offset, count));
|
||||
var prev = MemoryMarshal.Cast<byte, long>(prevBytes);
|
||||
for (offset = 0, count /= 8; offset < count;)
|
||||
|
|
|
|||
Loading…
Reference in a new issue