MCPcopy
hub / github.com/gin-gonic/gin / SaveUploadedFile

Method SaveUploadedFile

context.go:719–746  ·  view source on GitHub ↗

SaveUploadedFile uploads the form file to specific dst.

(file *multipart.FileHeader, dst string, perm ...fs.FileMode)

Source from the content-addressed store, hash-verified

717
718// SaveUploadedFile uploads the form file to specific dst.
719func (c *Context) SaveUploadedFile(file *multipart.FileHeader, dst string, perm ...fs.FileMode) error {
720 src, err := file.Open()
721 if err != nil {
722 return err
723 }
724 defer src.Close()
725
726 var mode os.FileMode = 0o750
727 if len(perm) > 0 {
728 mode = perm[0]
729 }
730 dir := filepath.Dir(dst)
731 if err = os.MkdirAll(dir, mode); err != nil {
732 return err
733 }
734 if err = os.Chmod(dir, mode); err != nil {
735 return err
736 }
737
738 out, err := os.Create(dst)
739 if err != nil {
740 return err
741 }
742 defer out.Close()
743
744 _, err = io.Copy(out, src)
745 return err
746}
747
748// Bind checks the Method and Content-Type to select a binding engine automatically,
749// Depending on the "Content-Type" header different bindings are used, for example:

Calls 3

CloseMethod · 0.80
CopyMethod · 0.80
OpenMethod · 0.45