@luka-cat-mimi/n8n-nodes-feishu-project
Version:
飞书项目 N8N 集成插件,支持附件管理等功能
56 lines • 2.13 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const RequestUtils_1 = __importDefault(require("../../../help/utils/RequestUtils"));
const FileUploadOperate = {
name: '文件上传',
value: 'file:upload',
options: [
{
displayName: '项目Key',
name: 'project_key',
type: 'string',
required: true,
default: '',
description: '项目的唯一标识Key',
},
{
displayName: '二进制数据字段名',
name: 'binaryPropertyName',
type: 'string',
required: true,
default: 'data',
description: '包含要上传文件的二进制数据字段名',
},
],
async call(index) {
const project_key = this.getNodeParameter('project_key', index);
const binaryPropertyName = this.getNodeParameter('binaryPropertyName', index);
const items = this.getInputData();
const binaryData = items[index].binary;
if (!binaryData || !binaryData[binaryPropertyName]) {
throw new Error(`在索引 ${index} 的项目中未找到二进制数据 "${binaryPropertyName}"`);
}
const fileInfo = binaryData[binaryPropertyName];
const binaryDataBuffer = await this.helpers.getBinaryDataBuffer(index, binaryPropertyName);
const formData = {
file: {
value: binaryDataBuffer,
options: {
filename: fileInfo.fileName || 'file',
contentType: fileInfo.mimeType || 'application/octet-stream',
},
},
};
return RequestUtils_1.default.request.call(this, {
method: 'POST',
url: `/open_api/${project_key}/file/upload`,
formData: formData,
json: true,
});
}
};
exports.default = FileUploadOperate;
//# sourceMappingURL=FileUploadOperate.js.map