1

我正在创建一个简单的应用程序,它允许用户使用 simple-uploader 上传大文件,因为这个插件以块而不是一个大文件的形式发送文件。问题是当我保存文件时,第一个块是唯一被保存的块。Go中有没有一种方法可以让我等待所有块到达服务器然后保存它?

这是我正在做的代码片段:

    dFile, err := c.FormFile("file")
    if err != nil {
        return SendError(c, err)
    }

    filename := dFile.Filename
    f, err := dFile.Open()

    if err != nil {
        return SendError(c, err)
    }
    defer f.Close()

    // save file in s3
    duration := sss.UploadFile(f, "temp/"+filename")
    ... send response

顺便说一下,对于这个项目,我使用的是 Fiber 框架。

4

1 回答 1

0

在处理这个问题时,我遇到了 tus-js-client,它与 go 中的 simple-uploader 和实现相同,称为 tusd,它将重新组装块,因此您不必再担心它了。

这是我发布解决方案的讨论:https ://stackoverflow.com/a/65785097/549529 。

于 2021-01-19T04:24:07.670 回答