【问题标题】:How create endpoint in asp.net core accepting multiple files with a text linked to each file?如何在 asp.net core 中创建端点,接受多个文件,每个文件都有一个链接的文本?
【发布时间】:2020-03-11 17:07:11
【问题描述】:

我想在现有的 asp.net 核心 API 中创建一个新端点。应该可以将带有链接文本字符串的多个文件上传到每个文件。我也想用 PostMan 来测试这个端点。可以这样做吗?

这是我运行的 C# 测试代码,但我不知道如何从 PostMan 调用它:

    [HttpPost("upload/test")]
    public async Task<IActionResult> FileUpload([FromForm]UploadModel fileUpload)
    {
        return FileUpload(fileUpload);
    }
    public class UploadModel
    {
        /// <summary>
        /// Files to upload
        /// </summary>
        public List<FileModel> Files { get; set; }
        public string UploadInfo{ get; set; }
    }

    public class FileModel
    {
        public IFormFile File { get; set; }
        public string FileText { get; set; }
    }

【问题讨论】:

    标签: c# asp.net-core postman iformfile


    【解决方案1】:

    为了将 List Object 从 postman 传递到 api,您可以尝试像 parameterName[index].fieldName 这样的结构。

    这是一个适合您的演示。

    【讨论】:

      【解决方案2】:
      1. 修改控制器方法以接受多个表单文件为 -

        [HttpPost("upload/test")]
        public async Task<IActionResult> FileUpload([FromForm] List<IFormFile> files)
        {
            return await UploadFile(files);
        }
        
      2. 在邮递员中选择表单数据并发送多个文件 postman data input

      【讨论】:

        【解决方案3】:

        首先,在 Body->raw

        中添加您的文本

        然后转到Body->binary->选择文件

        mroe info

        【讨论】:

        • 当我尝试这种方式时它对我不起作用。原始正文是: { "files" : [ { "filetext":"My text" } ], "uploadinfo":"Upload info text" }
        猜你喜欢
        • 2023-02-08
        • 1970-01-01
        • 1970-01-01
        • 2021-11-22
        • 2015-10-08
        • 1970-01-01
        • 2011-06-19
        • 2012-09-01
        • 2012-01-26
        相关资源
        最近更新 更多