Esempio n. 1
0
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
}
Esempio n. 2
0
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
}