func (store FileStore) GetInfo(id string) (tusd.FileInfo, error) { info := tusd.FileInfo{} data, err := ioutil.ReadFile(store.infoPath(id)) if err != nil { return info, err } if err := json.Unmarshal(data, &info); err != nil { return info, err } stat, err := os.Stat(store.binPath(id)) if err != nil { return info, err } info.Offset = stat.Size() return info, nil }
func (store FileStore) NewUpload(info tusd.FileInfo) (id string, err error) { id = uid.Uid() info.ID = id // Create .bin file with no content file, err := os.OpenFile(store.binPath(id), os.O_CREATE|os.O_WRONLY, defaultFilePerm) if err != nil { return } defer file.Close() // writeInfo creates the file by itself if necessary err = store.writeInfo(id, info) return }