MCPcopy Create free account
hub / github.com/devaccuracy/ledgerforge / createAndPopulateTempFile

Function createAndPopulateTempFile

internal/files/files.go:89–110  ·  view source on GitHub ↗
(filename string, reader io.Reader)

Source from the content-addressed store, hash-verified

87}
88
89func createAndPopulateTempFile(filename string, reader io.Reader) (*os.File, error) {
90 tempFile, err := createTempFile(filename)
91 if err != nil {
92 return nil, fmt.Errorf("error creating temporary file: %w", err)
93 }
94
95 // Use buffered writer for faster writes
96 writer := bufio.NewWriterSize(tempFile, DefaultBufferSize)
97 if _, err := io.Copy(writer, reader); err != nil {
98 return nil, fmt.Errorf("error copying upload data: %w", err)
99 }
100
101 if err := writer.Flush(); err != nil {
102 return nil, fmt.Errorf("error flushing temporary file: %w", err)
103 }
104
105 if _, err := tempFile.Seek(0, 0); err != nil {
106 return nil, fmt.Errorf("error seeking temporary file: %w", err)
107 }
108
109 return tempFile, nil
110}
111
112func detectFileTypeFromTempFile(tempFile *os.File, filename string) (string, error) {
113 header := make([]byte, 512)

Callers 1

UploadExternalDataFunction · 0.85

Calls 1

createTempFileFunction · 0.85

Tested by

no test coverage detected