Nodejs发布附件到JIRA

我正在接收HTTP POST响应确定200,但我看不到JIRA问题上的文件。 从我的研究中,我可以理解,这可能是我用请求发送的formData的一些问题。 以下是我的代码:

var newBuffer = new Buffer(req.Payload, 'base64'); var myReadableStreamBuffer = new streamBuffers.ReadableStreamBuffer({ frequency: 10, // in milliseconds. chunkSize: 2048 // in bytes. }); // With a buffer myReadableStreamBuffer.put(newBuffer); var formData = { 'file': { 'content': myReadableStreamBuffer, 'filename': req.FileName, 'mimeType': req.MimeType //mimeType from JSON } }; var options = { url: 'https://comapny.atlassian.net/rest/api/2/issue/' + req.ReferenceId + '/attachments', method: "POST", json: true, headers: { 'ContentType': 'multipart/form-data', 'Authorization': 'Basic ' + new Buffer(config.jira.jiraUser.userName + ':' + config.jira.jiraUser.password).toString('base64'), 'X-Atlassian-Token': 'nocheck' }, formData: JSON.stringify(formData) }; request(options, function (error, response, body) { if (error) { errorlog.error(`Error Message : PostAttachmentToCSMS : ${error}`); return response.statusCode; } else { successlog.info(`Attachment posted for issue Key: ${req.ReferenceId} ${response.statusMessage}`); return response.statusCode; } }); 

我可以从myReadableStreamBuffer写入文件,所以看起来没问题。 请帮我找出问题。 非常感谢!

花了一些时间后,我发现formData的正确格式: var newBuffer = new Buffer(req.Payload, 'base64'); var formData = { file: { value: newBuffer, options: { filename: req.FileName, contentType: req.MimeType } } }; var newBuffer = new Buffer(req.Payload, 'base64'); var formData = { file: { value: newBuffer, options: { filename: req.FileName, contentType: req.MimeType } } };