A File object is created from yourBucket object using .
Inheritance
ServiceObject<File> >FilePackage
@google-cloud/storage!Constructors
(constructor)(bucket, name, options)
constructor(bucket:Bucket,name:string,options?:FileOptions);
Constructs a file object.
Parameters| Name | Description |
| bucket | Bucket
The Bucket instance this file is attached to. |
| name | string
The name of the remote file. |
| options | FileOptions
Configuration options. |
Properties
acl
Property Valuebucket
Property Valuegeneration
Property ValuekmsKeyName
Property Valuemetadata
Property Valuename
Property Valueparent
Property Valuesigner
Property Valuestorage
Property ValueuserProject
Property ValueMethods
copy(destination, options)
copy(destination:string|Bucket|File,options?:CopyOptions):Promise<CopyResponse>;
Parameters| Name | Description |
| destination | string |Bucket |File
|
| options | CopyOptions
|
Returns| Type | Description |
| Promise<CopyResponse> | |
copy(destination, callback)
copy(destination:string|Bucket|File,callback:CopyCallback):void;
Parameters| Name | Description |
| destination | string |Bucket |File
|
| callback | CopyCallback
|
Returnscopy(destination, options, callback)
copy(destination:string|Bucket|File,options:CopyOptions,callback:CopyCallback):void;
ParametersReturnscreateReadStream(options)
createReadStream(options?:CreateReadStreamOptions):Readable;
Create a readable stream to read the contents of the remote file. It can be piped to a writable stream or listened to for 'data' events to read a file's contents.
In the unlikely event there is a mismatch between what you downloaded and the version in your Bucket, your error handler will receive an error with code "CONTENT_DOWNLOAD_MISMATCH". If you receive this error, the best recourse is to try downloading the file again.
For faster crc32c computation, you must manually install [fast-crc32c](https://www.npmjs.com/package/fast-crc32c):
$ npm install --save fast-crc32c
NOTE: Readable streams will emit theend event when the file is fully downloaded.
ParameterReturns| Type | Description |
| Readable | {ReadableStream} |
createResumableUpload(options)
createResumableUpload(options?:CreateResumableUploadOptions):Promise<CreateResumableUploadResponse>;
ParameterReturns| Type | Description |
| Promise<CreateResumableUploadResponse> | |
createResumableUpload(options, callback)
createResumableUpload(options:CreateResumableUploadOptions,callback:CreateResumableUploadCallback):void;
ParametersReturnscreateResumableUpload(callback)
createResumableUpload(callback:CreateResumableUploadCallback):void;
ParameterReturnscreateWriteStream(options)
createWriteStream(options?:CreateWriteStreamOptions):Writable;
Create a writable stream to overwrite the contents of the file in your bucket.
A File object can also be used to create files for the first time.
Resumable uploads are automatically enabled and must be shut off explicitly by settingoptions.resumable tofalse.
Resumable uploads require write access to the $HOME directory. Through [config-store](https://www.npmjs.com/package/configstore), some metadata is stored. By default, if the directory is not writable, we will fall back to a simple upload. However, if you explicitly request a resumable upload, and we cannot write to the config directory, we will return aResumableUploadError.
There is some overhead when using a resumable upload that can cause noticeable performance degradation while uploading a series of small files. When uploading files less than 10MB, it is recommended that the resumable feature is disabled.
For faster crc32c computation, you must manually install [fast-crc32c](https://www.npmjs.com/package/fast-crc32c):
$ npm install --save fast-crc32c
NOTE: Writable streams will emit thefinish event when the file is fully uploaded.
[Upload Options (Simple or Resumable)]https://cloud.google.com/storage/docs/json_api/v1/how-tos/upload [Objects: insert API Documentation]https://cloud.google.com/storage/docs/json_api/v1/objects/insert
ParameterReturns| Type | Description |
| Writable | {WritableStream} |
deleteResumableCache()
deleteResumableCache():void;
Delete failed resumable upload file cache.
Resumable file upload cache the config file to restart upload in case of failure. In certain scenarios, the resumable upload will not works and upload file cache needs to be deleted to upload the same file.
Following are some of the scenarios.
Resumable file upload failed even though the file is successfully saved on the google storage and need to clean up a resumable file cache to update the same file.
Resumable file upload failed due to pre-condition (i.e generation number is not matched) and want to upload a same file with the new generation number.
Returnsdownload(options)
download(options?:DownloadOptions):Promise<DownloadResponse>;
ParameterReturns| Type | Description |
| Promise<DownloadResponse> | |
download(options, callback)
download(options:DownloadOptions,callback:DownloadCallback):void;
ParametersReturnsdownload(callback)
download(callback:DownloadCallback):void;
Parameter| Name | Description |
| callback | DownloadCallback
|
ReturnsgenerateSignedPostPolicyV2(options)
generateSignedPostPolicyV2(options:GenerateSignedPostPolicyV2Options):Promise<GenerateSignedPostPolicyV2Response>;
Parameter| Name | Description |
| options | GenerateSignedPostPolicyV2Options
|
Returns| Type | Description |
| Promise<GenerateSignedPostPolicyV2Response> | |
generateSignedPostPolicyV2(options, callback)
generateSignedPostPolicyV2(options:GenerateSignedPostPolicyV2Options,callback:GenerateSignedPostPolicyV2Callback):void;
Parameters| Name | Description |
| options | GenerateSignedPostPolicyV2Options
|
| callback | GenerateSignedPostPolicyV2Callback
|
ReturnsgenerateSignedPostPolicyV2(callback)
generateSignedPostPolicyV2(callback:GenerateSignedPostPolicyV2Callback):void;
Parameter| Name | Description |
| callback | GenerateSignedPostPolicyV2Callback
|
ReturnsgenerateSignedPostPolicyV4(options)
generateSignedPostPolicyV4(options:GenerateSignedPostPolicyV4Options):Promise<GenerateSignedPostPolicyV4Response>;
ParameterReturns| Type | Description |
| Promise<GenerateSignedPostPolicyV4Response> | |
generateSignedPostPolicyV4(options, callback)
generateSignedPostPolicyV4(options:GenerateSignedPostPolicyV4Options,callback:GenerateSignedPostPolicyV4Callback):void;
ParametersReturnsgenerateSignedPostPolicyV4(callback)
generateSignedPostPolicyV4(callback:GenerateSignedPostPolicyV4Callback):void;
ParameterReturnsgetExpirationDate()
getExpirationDate():Promise<GetExpirationDateResponse>;
Returns| Type | Description |
| Promise<GetExpirationDateResponse> | |
getExpirationDate(callback)
getExpirationDate(callback:GetExpirationDateCallback):void;
ParameterReturnsgetSignedPolicy(options)
getSignedPolicy(options:GetSignedPolicyOptions):Promise<GetSignedPolicyResponse>;
ParameterReturns| Type | Description |
| Promise<GetSignedPolicyResponse> | |
getSignedPolicy(options, callback)
getSignedPolicy(options:GetSignedPolicyOptions,callback:GetSignedPolicyCallback):void;
ParametersReturnsgetSignedPolicy(callback)
getSignedPolicy(callback:GetSignedPolicyCallback):void;
ParameterReturnsgetSignedUrl(cfg)
getSignedUrl(cfg:GetSignedUrlConfig):Promise<GetSignedUrlResponse>;
ParameterReturns| Type | Description |
| Promise<GetSignedUrlResponse> | |
getSignedUrl(cfg, callback)
getSignedUrl(cfg:GetSignedUrlConfig,callback:GetSignedUrlCallback):void;
ParametersReturnsisPublic()
isPublic():Promise<IsPublicResponse>;
Returns| Type | Description |
| Promise<IsPublicResponse> | |
isPublic(callback)
isPublic(callback:IsPublicCallback):void;
Parameter| Name | Description |
| callback | IsPublicCallback
|
ReturnsmakePrivate(options)
makePrivate(options?:MakeFilePrivateOptions):Promise<MakeFilePrivateResponse>;
ParameterReturns| Type | Description |
| Promise<MakeFilePrivateResponse> | |
makePrivate(callback)
makePrivate(callback:MakeFilePrivateCallback):void;
Parameter| Name | Description |
| callback | MakeFilePrivateCallback
|
ReturnsmakePrivate(options, callback)
makePrivate(options:MakeFilePrivateOptions,callback:MakeFilePrivateCallback):void;
ParametersReturnsmakePublic()
makePublic():Promise<MakeFilePublicResponse>;
Returns| Type | Description |
| Promise<MakeFilePublicResponse> | |
makePublic(callback)
makePublic(callback:MakeFilePublicCallback):void;
ParameterReturnsmove(destination, options)
move(destination:string|Bucket|File,options?:MoveOptions):Promise<MoveResponse>;
Parameters| Name | Description |
| destination | string |Bucket |File
|
| options | MoveOptions
|
Returns| Type | Description |
| Promise<MoveResponse> | |
move(destination, callback)
move(destination:string|Bucket|File,callback:MoveCallback):void;
Parameters| Name | Description |
| destination | string |Bucket |File
|
| callback | MoveCallback
|
Returnsmove(destination, options, callback)
move(destination:string|Bucket|File,options:MoveOptions,callback:MoveCallback):void;
ParametersReturnspublicUrl()
The public URL of this File Use to enable anonymous access via the returned URL.
Returns| Type | Description |
| string | {string} |
rename(destinationFile, options)
rename(destinationFile:string|File,options?:RenameOptions):Promise<RenameResponse>;
Parameters| Name | Description |
| destinationFile | string |File
|
| options | RenameOptions
|
Returns| Type | Description |
| Promise<RenameResponse> | |
rename(destinationFile, callback)
rename(destinationFile:string|File,callback:RenameCallback):void;
Parameters| Name | Description |
| destinationFile | string |File
|
| callback | RenameCallback
|
Returnsrename(destinationFile, options, callback)
rename(destinationFile:string|File,options:RenameOptions,callback:RenameCallback):void;
Parameters| Name | Description |
| destinationFile | string |File
|
| options | RenameOptions
|
| callback | RenameCallback
|
Returnsrequest(reqOpts)
request(reqOpts:DecorateRequestOptions):Promise<[ResponseBody,Metadata]>;
Parameter| Name | Description |
| reqOpts | DecorateRequestOptions
|
Returns| Type | Description |
| Promise<[ResponseBody,Metadata]> | |
request(reqOpts, callback)
request(reqOpts:DecorateRequestOptions,callback:BodyResponseCallback):void;
Parameters| Name | Description |
| reqOpts | DecorateRequestOptions
|
| callback | BodyResponseCallback
|
ReturnsrotateEncryptionKey(options)
rotateEncryptionKey(options?:RotateEncryptionKeyOptions):Promise<RotateEncryptionKeyResponse>;
Parameter| Name | Description |
| options | RotateEncryptionKeyOptions
|
Returns| Type | Description |
| Promise<RotateEncryptionKeyResponse> | |
rotateEncryptionKey(callback)
rotateEncryptionKey(callback:RotateEncryptionKeyCallback):void;
Parameter| Name | Description |
| callback | RotateEncryptionKeyCallback
|
ReturnsrotateEncryptionKey(options, callback)
rotateEncryptionKey(options:RotateEncryptionKeyOptions,callback:RotateEncryptionKeyCallback):void;
Parameters| Name | Description |
| options | RotateEncryptionKeyOptions
|
| callback | RotateEncryptionKeyCallback
|
Returnssave(data, options)
save(data:string|Buffer,options?:SaveOptions):Promise<void>;
ParametersReturns| Type | Description |
| Promise<void> | |
save(data, callback)
save(data:string|Buffer,callback:SaveCallback):void;
ParametersReturnssave(data, options, callback)
save(data:string|Buffer,options:SaveOptions,callback:SaveCallback):void;
ParametersReturnssetEncryptionKey(encryptionKey)
setEncryptionKey(encryptionKey:string|Buffer):this;
Parameter| Name | Description |
| encryptionKey | string |Buffer
An AES-256 encryption key. |
Returns| Type | Description |
| this | {File} |
setStorageClass(storageClass, options)
setStorageClass(storageClass:string,options?:SetStorageClassOptions):Promise<SetStorageClassResponse>;
ParametersReturns| Type | Description |
| Promise<SetStorageClassResponse> | |
setStorageClass(storageClass, options, callback)
setStorageClass(storageClass:string,options:SetStorageClassOptions,callback:SetStorageClassCallback):void;
ParametersReturnssetStorageClass(storageClass, callback)
setStorageClass(storageClass:string,callback?:SetStorageClassCallback):void;
ParametersReturnssetUserProject(userProject)
setUserProject(userProject:string):void;
Set a user project to be billed for all requests made from this File object.
Parameter| Name | Description |
| userProject | string
The user project. |
ReturnsstartResumableUpload_(dup, options)
startResumableUpload_(dup:Duplexify,options:CreateResumableUploadOptions):void;
ParametersReturnsstartSimpleUpload_(dup, options)
startSimpleUpload_(dup:Duplexify,options?:CreateWriteStreamOptions):void;
Takes a readable stream and pipes it to a remote file. UnlikestartResumableUpload_, which uses the resumable upload technique, this method uses a simple upload (all or nothing).
Parameters| Name | Description |
| dup | Duplexify
Duplexify stream of data to pipe to the file. |
| options | CreateWriteStreamOptions
Configuration object. |
Returns