Add file name when downloading files (Google Drive) (#1710)

This commit is contained in:
Ricardo Espinoza 2021-04-30 16:29:10 -04:00 committed by GitHub
parent c9d0b17291
commit bf93a122ed
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -274,6 +274,32 @@ export class GoogleDrive implements INodeType {
},
description: 'Name of the binary property to which to<br />write the data of the read file.',
},
{
displayName: 'Options',
name: 'options',
type: 'collection',
placeholder: 'Add Option',
default: {},
displayOptions: {
show: {
operation: [
'download',
],
resource: [
'file',
],
},
},
options: [
{
displayName: 'File Name',
name: 'fileName',
type: 'string',
default: '',
description: 'File name. Ex: data.pdf',
},
],
},
// ----------------------------------
@ -2011,6 +2037,7 @@ export class GoogleDrive implements INodeType {
// ----------------------------------
const fileId = this.getNodeParameter('fileId', i) as string;
const options = this.getNodeParameter('options', i) as IDataObject;
const requestOptions = {
resolveWithFullResponse: true,
@ -2021,10 +2048,15 @@ export class GoogleDrive implements INodeType {
const response = await googleApiRequest.call(this, 'GET', `/drive/v3/files/${fileId}`, {}, { alt: 'media' }, undefined, requestOptions);
let mimeType: string | undefined;
let fileName: string | undefined = undefined;
if (response.headers['content-type']) {
mimeType = response.headers['content-type'];
}
if (options.fileName) {
fileName = options.fileName as string;
}
const newItem: INodeExecutionData = {
json: items[i].json,
binary: {},
@ -2043,7 +2075,7 @@ export class GoogleDrive implements INodeType {
const data = Buffer.from(response.body as string);
items[i].binary![dataPropertyNameDownload] = await this.helpers.prepareBinaryData(data as unknown as Buffer, undefined, mimeType);
items[i].binary![dataPropertyNameDownload] = await this.helpers.prepareBinaryData(data as unknown as Buffer, fileName, mimeType);
} else if (operation === 'list') {
// ----------------------------------