You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决.NET集成Jira添加附件时的UnsupportedMediaType错误?

解决Jira .NET集成添加附件时的UnsupportedMediaType错误

问题根源

你手动给AddFile方法指定了multipart/form-data作为单个文件的Content-Type,这是错误的——multipart/form-data是整个请求的Content-Type,而非单个文件的类型。同时,手动指定该值会干扰RestSharp自动生成正确的请求边界和内容格式,导致Jira服务器无法识别请求类型。

修复方案

方案1:直接传入文件路径(推荐)

让RestSharp自动处理文件的MIME类型和请求格式:

public async Task AddAttachmentAsync(string issueKey, string filePath)
{
    try
    {
        var request = new RestRequest($"/rest/api/3/issue/{issueKey}/attachments", Method.Post);

        request.AddHeader("X-Atlassian-Token", "nocheck");

        // 直接传入文件路径,RestSharp会自动获取正确的MIME类型
        request.AddFile("file", filePath);

        var response = await _client.ExecuteAsync(request);

        if (!response.IsSuccessful)
        {
            throw new Exception($"Error adding attachment: {response.StatusCode} - {response.Content}");
        }
    }
    catch (Exception ex)
    {
        throw ex;
    }
}

方案2:使用字节数组时指定正确的文件MIME类型

如果必须使用字节数组,需替换multipart/form-data为文件实际的MIME类型(比如PDF用application/pdf,图片用image/png):

public async Task AddAttachmentAsync(string issueKey, string filePath)
{
    try
    {
        var fileData = File.ReadAllBytes(filePath);
        var fileName = Path.GetFileName(filePath);
        // 根据文件类型设置正确的MIME类型,这里以PDF为例
        var mimeType = "application/pdf";

        var request = new RestRequest($"/rest/api/3/issue/{issueKey}/attachments", Method.Post);

        request.AddHeader("X-Atlassian-Token", "nocheck");

        request.AddFile("file", fileData, fileName, mimeType);

        var response = await _client.ExecuteAsync(request);

        if (!response.IsSuccessful)
        {
            throw new Exception($"Error adding attachment: {response.StatusCode} - {response.Content}");
        }
    }
    catch (Exception ex)
    {
        throw ex;
    }
}

额外检查项

  • 确保使用的RestSharp是最新版本,旧版本在multipart请求处理上可能存在兼容性问题。
  • 不要手动添加Content-Type: multipart/form-data请求头,RestSharp会自动生成包含边界值的正确请求头。

内容的提问来源于stack exchange,提问作者Alejandro Vexler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 23:46:08