简体   繁体   中英

How to handle chunked file upload

I'm creating a simple application where it allows users to upload big files using simple-uploader since this plugin sends the files in chunks instead of one big file. The problem is that when I save the file the first chunk is the only one that is being saved. Is there a way in Go where I'll wait for all the chunks to arrive in the server then save it afterward?

Here's a snippet of the code I'm doing:

    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

By the way for this project, I'm using the fiber framework.

While working on this I encountered tus-js-client which is doing the same as the simple-uploader and implementation in go called tusd which will reassemble the chunks so you don't have to worry about it anymore.

Here's a discussion where I posted my solution: https://stackoverflow.com/a/65785097/549529 .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM