Returns content of a whole file or its part.
upload.file#96a18d5 type:storage.FileType mtime:int bytes:bytes = upload.File;
---functions---
upload.getFile#e3a6cfb5 location:InputFileLocation offset:int limit:int = upload.File;
| Name | Type | Description | 
|---|---|---|
| flags | # | Flags, see TL conditional fields | 
| precise | flags.0?true | Disable some checks on limit and offset values, useful for example to stream videos by keyframes | 
| cdn_supported | flags.1?true | Whether the current client supports CDN downloads | 
| location | InputFileLocation | File location | 
| offset | int | Number of bytes to be skipped | 
| limit | int | Number of bytes to be returned | 
| Code | Type | Description | 
|---|---|---|
| 400 | CHANNEL_INVALID | The provided channel is invalid. | 
| 400 | CHANNEL_PRIVATE | You haven't joined this channel/supergroup. | 
| 400 | FILE_REFERENCE_* | The file reference expired, it must be refreshed. | 
| 406 | FILEREF_UPGRADE_NEEDED | The client has to be updated in order to support file references. | 
| 400 | FILE_ID_INVALID | The provided file id is invalid. | 
| 400 | FILE_REFERENCE_EXPIRED | File reference expired, it must be refetched as described in the documentation. | 
| 400 | LIMIT_INVALID | The provided limit is invalid. | 
| 400 | LOCATION_INVALID | The provided location is invalid. | 
| 400 | MSG_ID_INVALID | Invalid message ID provided. | 
| 400 | OFFSET_INVALID | The provided offset is invalid. | 
| 400 | PEER_ID_INVALID | The provided peer id is invalid. | 
How to handle file references.