---
name: "MongoDB::GridFS::File"
section: "3pm"
platform: "linux"
package: "libmongodb-perl"
version: "1.4.5-1+b1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/MongoDB::GridFS::File"
---

# MongoDB::GridFS::File(3pm)

A Mongo GridFS file (DEPRECATED)

## NAME

MongoDB::GridFS::File - A Mongo GridFS file (DEPRECATED)

## VERSION

version v1.4.5

## SYNOPSIS

```
    use MongoDB::GridFS::File;
    $outfile = IO::File->new("outfile", "w");
    $file = $grid->find_one;
    $file->print($outfile);
```

## USAGE

### Error handling

Unless otherwise explicitly documented, all methods throw exceptions if an error occurs.  The error types are documented in MongoDB::Error.

To catch and handle errors, the Try::Tiny and Safe::Isa modules are recommended:

```
    use Try::Tiny;
    use Safe::Isa; # provides $_isa
    $bytes = try {
        $file->slurp;
    }
    catch {
        if ( $_->$_isa("MongoDB::TimeoutError" ) {
            ...
        }
        else {
            ...
        }
    };
```

To retry failures automatically, consider using Try::Tiny::Retry.

## ATTRIBUTES

### info

A hash reference of metadata saved with this file.

## METHODS

### print

```
    $written = $file->print($fh);
    $written = $file->print($fh, $length);
    $written = $file->print($fh, $length, $offset)
```

Writes the number of bytes specified from the offset specified  to the given file handle.  If no `$length` or `$offset` are given, the entire file is written to `$fh`.  Returns the number of bytes written.

### slurp

```
    $all   = $file->slurp
    $bytes = $file->slurp($length);
    $bytes = $file->slurp($length, $offset);
```

Return the number of bytes specified from the offset specified.  If no `$length` or `$offset` are given, the entire file is returned.

## DEPRECATION

**Note**: This class has been deprecated in favor of MongoDB::GridFSBucket and its related upload and download classes.  This class will be removed in a future release and you are encouraged to migrate your applications to MongoDB::GridFSBucket.

## AUTHORS

- •

  David Golden \<david@mongodb.com\>

- •

  Mike Friedman \<friedo@friedo.com\>

- •

  Kristina Chodorow \<k.chodorow@gmail.com\>

- •

  Florian Ragwitz \<rafl@debian.org\>

## COPYRIGHT AND LICENSE

This software is Copyright (c) 2016 by MongoDB, Inc.

This is free software, licensed under:

```
  The Apache License, Version 2.0, January 2004
```
