【问题标题】:Posting file and list of object in same request in asp.net在 asp.net 中的同一请求中发布文件和对象列表
【发布时间】:2021-01-30 19:15:41
【问题描述】:

我可以设置一个 post 方法来同时发布图像和对象列表吗?我有以下代码,它在逻辑上有效,但我正在尝试用 postman 测试这个请求

private ApplicationDbContext1 db = new ApplicationDbContext1();

[Route("api/save_BUY")]
        [HttpPost]
  public async Task< IHttpActionResult> save_BUY(IEnumerable<BY_table> BY_table,int id)
{
var BY_API = BY_table.Select(p => new BY_API
                    {

                        ITEM_CODE = p.ITEM_CODE,
                        ITEM_NAME = p.ITEM_NAME,
                        Unit = p.Unit,
                        Unit_Core = Convert.ToDecimal(p.Unit_Core),
                     
                    }).AsQueryable();
                    var ctx = HttpContext.Current;
                    var root = ctx.Server.MapPath("~/App_Data");
                    var provider = new MultipartFormDataStreamProvider(root);
                  
                        await Request.Content.ReadAsMultipartAsync(provider);

                        foreach (var file in provider.FileData)
                        {
                            var name = file.Headers
                                .ContentDisposition
                                .FileName;

                            var localFileName = file.LocalFileName;
                            var filePath = Path.Combine(
                                root, "files", name);
byte[] fileBytes;
                using (var fs = new FileStream(
                PHOTO, FileMode.Open, FileAccess.Read))
                {
                    fileBytes = new byte[fs.Length];
                    fs.Read(
                    fileBytes, 0, Convert.ToInt32(fs.Length));
                }
                var MASTER_BUY = db.MASTER_BUY.Where(x => x.int==id)
                {
                    MASTER_BUY.image= fileBytes;
                };
                
                db.SaveChanges();
                return Ok(BY_API);
            }
}

我怎样才能在邮递员中提出这个请求来测试它。 请帮忙。

【问题讨论】:

  • 我知道邮递员能够测试文件上传。然后它应该用作表单数据。我不确定这对列表有什么作用。

标签: c# asp.net postman multipartform-data webapi


【解决方案1】:

您可以发送base64字符串的图像形式并从客户端(邮递员)获取字符串值 Image to Base 64 String 这是帮助您从文件中获取 base 64 字符串的在线工具之一!

【讨论】:

  • 但我需要它是多部分文件是不可能的
  • 您可以在后端发送文件数组并处理请求
  • 如何处理后端的 Json 列表
  • 发送字符串Base64图像列表并在后端字符串[]文件中处理它;并在行动或方法中处理它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-01
  • 1970-01-01
  • 2017-02-03
  • 1970-01-01
  • 2018-09-02
相关资源
最近更新 更多