func (m *ByteStore) save(key string, file *os.File) (map[string]interface{}, error) { defer file.Close() err := m.DB.WriteStream(key, file, false) if err != nil { return nil, err } info, err := bytestore.GetFileInfo(file.Name()) if err != nil { return nil, err } return info, nil }
func (m *ByteStore) save(db, filename string, file *os.File) (map[string]interface{}, error) { gfile, err := m.session.DB(m.database).GridFS(db).Create(filename) if err != nil { return nil, err } defer file.Close() _, err = io.Copy(gfile, file) if err != nil { return nil, err } err = gfile.Close() if err != nil { return nil, err } info, err := bytestore.GetFileInfo(file.Name()) if err != nil { return nil, err } return info, nil }