Tus.io 正常上传期间出现 WebException(服务器错误 460)

Tus.io WebException (Server Error 460) During Normal Upload

我正在使用 Tus.io(可恢复文件上传库).Net 客户端库将文件上传到网络服务器。

这是代码片段:

 Dim testfile = My.Computer.FileSystem.GetFileInfo("..\..\test.pptx")

    Dim tc As New TusClient.TusClient()
    AddHandler tc.Uploading, Sub(bytesTransferred As Integer, bytesTotal As Integer)
                                 Dim perc As Decimal = bytesTransferred / bytesTotal * 100.0
                                 Console.WriteLine("Up {0:0.00}% {1} of {2}", perc, bytesTransferred, bytesTotal)
                             End Sub

    Dim fileURL = tc.Create(ServerURL, testfile)

    tc.Upload(fileURL, testfile)

上传功能适用于小文件,例如500kb 的文件,但不适用于大小为 3MB 或更大的文件。它在传输 100% 数据后抛出异常(根据上传事件给出的百分比)。

异常:WebException

消息:远程服务器返回错误:(460) 未知。

回复内容:"Header Upload-Checksum does not match the checksum of the file"

状态:协议错误{7}

如果此处缺少任何必需的信息,请告诉我。 任何解决方案或快速解决方法将不胜感激。谢谢

PS。由于权限有限,我无法添加 Tus.io 标签。

tus.io .NET 客户端库包含 "check-sum" header,导致客户端抛出此错误。现在最简单的解决方案是删除或注释掉以下行,重新编译,然后就可以了。

TusClient.cs
line 150: request.AddHeader("Upload-Checksum", "sha1 " + Convert.ToBase64String(sha1hash));