code: func Open(path string) (*File, error) {
  	f, err := os.Open(path)
  	if err != nil {
  		return nil, err
  	}
  	stat, err := f.Stat()
  	if err != nil {
  		f.Close()
  		return nil, err
  	}
  
  	contentType, err := api.DetectContentType(f.Name(), f)
  	if err != nil {
  		return nil, err
  	}
  
  	return &File{
  		ReadCloser: f,
  		ManifestEntry: api.ManifestEntry{
  			ContentType: contentType,
  			Mode:        int64(stat.Mode()),
  			Size:        stat.Size(),
  			ModTime:     stat.ModTime(),
  		},
  	}, nil
  }
docs: // Open opens a local file which can then be passed to client.Upload to upload
  // it to swarm