0

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

这是代码片段:

 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% 数据后抛出异常(根据上传事件给出的百分比)。

异常:网络异常

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

响应内容:“Header Upload-Checksum 与文件的校验和不匹配”

状态:协议错误 {7}

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

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

4

1 回答 1

1

tus.io .NET 客户端库包含一个“校验和”标头,导致客户端抛出此错误。现在最简单的解决方案是删除或注释掉以下行,重新编译,你会很高兴的。

TusClient.cs
line 150: request.AddHeader("Upload-Checksum", "sha1 " + Convert.ToBase64String(sha1hash));
于 2017-05-01T16:42:24.887 回答